|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|
О разработке структуры базы данных (для начинающих) (обсуждение статьи)01.02.2012, 12:01. Показов 12258. Ответов 65
Метки нет (Все метки)
Предлагаю обсудить здесь "статью", давайте ее откорректируем, дополним, и будет нормальное пособие для начинающих о том, с чего начать, как правильно построить структуру бд, на что следует обратить внимание в первую очередь. Потому как такие вопросы на форуме задаются очень часто.
3
|
|
| 01.02.2012, 12:01 | |
|
Ответы с готовыми решениями:
65
Книга для начинающих изучать базы данных Совет в разработке интерфейса базы данных Статьи из базы данных |
|
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
|
|
| 01.02.2012, 14:33 | |
|
очень помогает если структура выполнена на языке UML. Это дает в короткий срок создать и проверить всю структуру сразу и если нужно внести изменения.
0
|
|
|
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 110
|
|
| 08.02.2012, 14:06 | |
|
https://www.cyberforum.ru/atta... 1328068610
Вот третья картинка. Там в квадратиках что-то написано, но совершенно не читается. Что такое Бойс-Кодд? Я просто не знаю, а в статье есть. Тема нужная. Полезная. Огромное спасибо. Буду свою базу переделывать под "как надо". Если что в голове еще всплывет, то дополнительно отпишусь.
0
|
|
|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|
| 09.02.2012, 20:02 [ТС] | |
|
диаграмму3 вложила еще раз
Нормальная форма Бойса-Кодда названа так в честь Рэя Бойса и Эдгара Кодда, ее описание есть в статье в частности, и в интернете в целом
0
|
|
|
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 110
|
||
| 18.02.2012, 02:37 | ||
|
Ameli
Знаю, что вопрос глупый, но всё же.
Скажите пожалуйста, а уход от этого пункта чем чреват? / мне просто или воспользоваться уже найденным (данным) решением своей проблемы или по-новой тему создавать, поскольку многое в логике таблицы меняется тогда.
0
|
||
|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|
| 18.02.2012, 10:55 [ТС] | |
|
Если имеются в виду поля со списком с множеством значений в 2007 аксессе и выше, то их можно использовать, разделить значения потом в них можно при желании.
Здесь имеется в виду, что в одном поле не должно быть записано через запятую несколько значений, как потом изъять оттуда каждое из них? как потом задействовать в связях это поле?
1
|
|
|
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
|
||
| 29.02.2012, 14:37 | ||
|
Ameli, добрый день
Хочу уточнить несколько моментов: 1) 2) В примере по второй НФ: получается, что две итоговые (нормализованные) таблицы связаны "многие-ко-многим"? И еще, на мой взгляд, для начинающих было бы полезно дать четкое понятие "первичный ключ", "внешний ключ"
0
|
||
|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
||||
| 29.02.2012, 14:49 [ТС] | ||||
|
Pelena, спасибо за комментарии, возможно вам тоже есть, что сказать
1
|
||||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
|
||
| 01.03.2012, 06:42 | ||
Во всех моих задач именно вместе. Так что лучше здесь точно не подходит, зависит от задачи, список абонентов или поле директора предприятия.
0
|
||
|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|
| 01.03.2012, 08:39 [ТС] | |
|
Я придерживаюсь мнения, что, если поле можно разделить на несколько, то лучше разделить.
Может когда-то понадобится, например, Фамилия и инициалы, и придется функциями отделять фамилию из ФИО, потом отделять имя и отчество, брать первые буквы, тогда как в раздельном варианте все намного проще
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
|
|
| 01.03.2012, 09:27 | |
|
А если не понадобится? Зачем делить? Если это сущность, единое целое? Как номер телефона например, номер телефона тоже делить будем? Вообщем я не согласен с такой постановкой.
0
|
|
|
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
|
|
| 18.03.2012, 14:41 | |
|
Ameli, добрый день. Спасибо за Ваше стремление помочь новичкам привести в систему знания.
![]() По поводу статьи ПРИМЕР РАЗРАБОТКИ БД. Я не понимаю, зачем создавать такое количество таблиц с двумя полями типа КОД и НАЗВАНИЕ, почему нельзя НАЗВАНИЕ сразу поместить в связанную таблицу, особенно если оно состоит из одного слова? Это связано с тем, что повторяющиеся текстовые поля увеличивают объём БД? Или есть ещё причины?
0
|
|
|
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
|
||
| 18.03.2012, 19:58 | ||
|
например, есть таблица выплат зарплаты, включающая, кроме прочего, сумму и фамилию человека. соответственно, фамилии повторяются каждый месяц. теперь, допустим, кто-то вышел замуж, и фамилия изменилась. сделать выборку по этому человеку будет непросто. велика вероятность ошибки. менять фамилию во всей таблице тоже не лучшее решение. правильно, вынести фамилию в отдельную справочную таблицу, а в таблице зарплат оставить только код сотрудника. на этот же код, при желании, потом, в любой момент можно повесить таблицу изменения фамилий (код стараяФамилия новаяФамилия дата) и вот, все данные под рукой в удобном виде. впрочем, иногда прибегают и к денормализации данных. это, в некоторых случаях, позволяет существенно упростить запросы, увеличить скорость работы(особенно критично, например, для MySQL -- базы для web, обычно, сильно денормализованы и способны выполнять десятки тысяч запросов в секунду из миллионов записей). при этом ответственность за целостность данных ложиться на код пользователя. ошибки все равно просачиваются, приходиться их периодически искать и исправлять.
1
|
||
|
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
|
|
| 18.03.2012, 20:22 | |
|
Ну, хорошо. Это если теоретически возможны какие-то изменения, а если это названия дней недели, должностей, ученых званий, видов отчетности и т.д. Я понимаю, например, сделать отдельные таблицы для дальнейшей подстановки, но зачем их включать в связи? Это ж такая паутина в схеме данных получается, что новичок запутается в ней как муха
0
|
|
|
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
|
||
| 18.03.2012, 21:02 | ||
|
про дни недели никто не говорит. храните их в нужных местах в виде цифр 0-6 (или, что по сути то же самое, как набор значений)
само собой, на VBA можно загнуть все что угодно. только дорого это
1
|
||
|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
||
| 18.03.2012, 21:30 [ТС] | ||
|
1
|
||
|
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
|
||
| 18.03.2012, 21:52 | ||
|
То есть это делается с учетом дальнейших изменений, которые могут понадобиться? А также чтобы человек, которому БД досталась "по наследству" мог в ней легко разобраться? Понятно
0
|
||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
|
||
| 19.03.2012, 04:52 | ||
|
В целом нормализации вещь хорошая и правильная, но переусердствовать с ней не нужно. Всё зависит от конкретной ситуации и конретного техзадания. Контора с пятью сотрудниками не нуждается в справочнике адресов КЛАДР для зарплаты, что не скажешь об организации из 15 000 человек. И т.д. и т.п. Могу привести примеры когда нормализация - зло, если у кого-то есть желание.
1
|
||
|
39 / 39 / 0
Регистрация: 02.03.2012
Сообщений: 91
|
|
| 19.03.2012, 09:49 | |
|
Я как и alvk придерживаюсь разумности в подходе к конкретным задачам и ограничениям, а не точного следования всем заповедям Дейта и других гуру. Из личного своего опыта (с начала 80-х годов) изменения простой БД под новые задачи всегда дешевле разработки всеобъемлющих структур для всех будущих и настоящих целей. Желательно было бы показать новичкам на примере КАК это делается, напрмер, на тех же ФИО в одном поле или в разных полях, с таблицей БД или полем со коротким списком.
1
|
|
|
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|||
| 19.03.2012, 10:23 [ТС] | |||
|
alvk, запрос с группировкой построить конечно можно, а вот внести изменения в значения нельзя, именно для этого эти таблички и были созданы, для универсальности базы.
Все, кто отписались в этой теме, думаю, вам тоже есть что сказать, выберите какой-то вопрос, в котором хорошо разбираетесь, и часто обсуждается на нашем форуме, и вперед!
1
|
|||
| 19.03.2012, 10:23 | |
|
Помогаю со студенческими работами здесь
20
Вывод статьи по id из базы данных Базы данных - книги,статьи Статьи через php и базы данных
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|