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

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

05.07.2019, 13:46. Показов 3526. Ответов 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
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,914
07.07.2019, 13:03
Цитата Сообщение от titan4ik Посмотреть сообщение
1. Как быть, если разработка большая и много разработчиков
Цитата Сообщение от VinniPuh Посмотреть сообщение
Тут наверное таки нужно иметь общий план и схему, что бы все работали над проектом в одном ключе, а не вразброс, но это скорее всего должен делать кто то один, типа управляя и направляя процесс созидания.
это как правило делает архитектор
0
Заблокирован
07.07.2019, 13:20  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
это как правило делает архитектор
А он ER-модель использует?) Об этом же речь.
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,914
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
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru