Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Заблокирован

Проектирование баз данных. Алгоритм действий и инструменты

05.07.2019, 13:46. Показов 3331. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в продолжение обсуждения в теме решил создать отдельную тему.

Мартин Грабер в Гл 19 "Проектирование баз данных" описывает два основных алгоритма создания баз данных, а именно:
1. На базе подхода ER-модели создаются ER-диаграммы, затем они преобразуются программистом в таблицы реляционной базы данных и проверяются на соответствие требованиям нормализации (то есть, фактически, не накосячил ли программист, ведь если все делать правильно, то из ER-диаграммы путем достаточно формальных процедур можно получить достаточно нормализованные таблицы).
2. Создается некая супертаблица (набор супертаблиц), то есть набор всех возможных атрибутов (столбцов) в одной куче, и затем путем её декомпозиции создаётся удобоваримый и в меру нормализованный набор таблиц - схема БД.

При это отмечается, что подход на базе ER-модели является предпочтительным и к тому же - более человечным, интуитивно более понятным (он менее формален, чем подход два).

Хотелось бы, чтобы специалисты, имеющие практический опыт разработки БД , рассказали о нем.
Хотелось бы увидеть алгоритм создания БД, начиная от идеи, от осознания того что нужно бы что-то делать и как дальше действовать по пунктам, с указанием используемых инструментов.
Для простоты исключим общение с заказчиком и изучение предметной области. Будем считать, что программист делает БД для себя. И эта база данных будет описывать известную ему предметную область. А также, оставим пока за рамками данного обсуждения оптимизацию по производительности.

P.S.
Есть конечно некий предварительный этап (очень важный и затратный по силам и времени), вплоть до разработки ТЗ, который может разниться в зависимости от рода задачи, а именно:
- Изучение предметной области
- Выявление и определение сущностей, атрибутов (столбцов), связей
и т.д.
Но это отдельная история.
Если говорить ещё и о проблеме разработки ТЗ, о проблеме общения с заказчиками и со специалистами предметной области - то это отдельная задача.
Кстати, проблемы этой задачи в чем-то общие и при разработке БД для заказчика и при разработке сайта. Особенно, если заказчик не является крупной структурой и у него нет специалистов-программистов, погруженных в предметную область и могущих компетентно разработать ТЗ.
То есть, есть проблема преодоления пропасти: программист не знает предметной области, а заказчик не понимает как поставить задачу программисту. Считаю, что для преодоления такой пропасти могло бы существовать специальное ПО. Но это постскриптум.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.07.2019, 13:46
Ответы с готовыми решениями:

Проектирование баз данных
Кто-нибудь встречал в интернете пример проектирования базы данных сферы обслуживания?

Проектирование серверной части приложения баз данных
Здравствуйте! В интернете не нашел чего то конкретного по этой теме... Посоветуйте, где почитать и что почитать. Спасибо)

Объединение баз данных , разделение баз.
Приветствую. Помогите разделить имеющуюся базу, и собрать все в одну. С sql только начал работать.

24
Заблокирован
07.07.2019, 12:36  [ТС]
Студворк — интернет-сервис помощи студентам
До кучи перенесу диалог с Usaga из соседней темы:
Цитата Сообщение от titan4ik Посмотреть сообщение
Usaga,
то есть, практически ER-диаграммы не используются?
Шош тогда Мартин Грабер сбивает народ с толку?
Цитата Сообщение от Usaga Посмотреть сообщение
titan4ik, используются в разного рода ТЗ. Для реализации самой схемы базы диаграммы не нужны.
Цитата Сообщение от titan4ik Посмотреть сообщение
То есть, в ТЗ используется, то бишь - для понимания предметной области и осознания задачи используется, как интерфейс общения с "заказчиками" годится.
Но ведь ничего больше от ER-модели и не требуется. Как её ещё можно использовать?!
Далее программист на основе неё создаёт саму схему (таблицы БД) тем или иным образом.
Вывод - для реализации схемы БД она нужна (может быть использована в вышеуказанном смысле).
VinniPuh,
Добавлено через 30 минут
Цитата Сообщение от VinniPuh Посмотреть сообщение
при проектировании принципиальных схем по автоматизации оборудования котельных, всегда сначала нарисую принципиальную электрическую схему схему с теми же реле, их контактами и прочими переключателями.
Не понял. А как же иначе? То бишь как же без принципиальных эл схем разрабатывать эл схемы?!))) Или Вы имеете ввиду, что сначала на этой элементной базе (старой, но при этом визуально интуитивно понятная схема получается), а потом на новой, то бишь полупроводниковой?
То есть, как промежуточный этап осознания и визуализации логики работы схемы?
Цитата Сообщение от VinniPuh Посмотреть сообщение
Правда не на листочке это делаю а на компе в экселе рисую, ибо можно изменить не черкая и не стирая.
Эксель в этом смысле тот же листик и карандаш, только в чем-то удобнее, а в чем-то нет)
Цитата Сообщение от VinniPuh Посмотреть сообщение
Возможно есть какие то и более продвинутые программы, но
Вот именно... НО... Эта продвинутость может быть не вполне в нужную сторону. Излишнее усложнее интерфейса, идиотская логика, "заморочки" с приобретением и т.п.
Плюс-минус - привычка и деловые обыкновения)
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
07.07.2019, 13:03
Цитата Сообщение от titan4ik Посмотреть сообщение
1. Как быть, если разработка большая и много разработчиков
Цитата Сообщение от VinniPuh Посмотреть сообщение
Тут наверное таки нужно иметь общий план и схему, что бы все работали над проектом в одном ключе, а не вразброс, но это скорее всего должен делать кто то один, типа управляя и направляя процесс созидания.
это как правило делает архитектор
0
Заблокирован
07.07.2019, 13:20  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
это как правило делает архитектор
А он ER-модель использует?) Об этом же речь.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
07.07.2019, 13:34
рекомендую найти книгу
Ричард Баркер. Моделирование взаимосвязей между сущностями

Добавлено через 2 минуты
Цитата Сообщение от titan4ik Посмотреть сообщение
А он ER-модель использует?) Об этом же речь.
как без моделирования? если говорим про РСУБД - да, если NoSql - то я хз, как там все дело обстоит

Добавлено через 1 минуту
Цитата Сообщение от pincet Посмотреть сообщение
Ричард Баркер. Моделирование взаимосвязей между сущностями
Case*Method - Entity Relationship Modelling by Richard Barker
1
Заблокирован
14.07.2019, 12:59  [ТС]
Цитата Сообщение от VinniPuh Посмотреть сообщение
Хорошая тема.
VinniPuh, видать, близнецов оказалось всего два)
И спасибо откликнувшимся pincet и Andrey-MSK.
Хотелось бы конечно услышать ещё и дальних родственников.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.07.2019, 12:59
Помогаю со студенческими работами здесь

Насколько актукальны инструменты по оптимизации баз данных Oracle в России?
Доброго времени суток! Хотелось бы провести маленький опрос и одновременно могу ответить на любые вопросы, которые возникнут о базах...

Проектирование баз данных
Уважаемые форумчане! Просьба высказать свое мнение о необходимости перед созданием конкретной базы в Access создавать функциональную...

Проектирование реляционных баз данных
Специализированная научная библиотека Рассмотрим специализированную библиотеку, которая располагает книжным фондом определенной...

Проектирование баз данных в СУБД Access
Задание №3 Вариант 7 Разработать информационно-логическую модель предметной области...

Правильное проектирование баз данных при очень частом обращении
Пишу мессенджер и в истории переписок в адаптере очень часто вызывается последнее сообщение для каждого чата и база данных садится, какие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru