Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/57: Рейтинг темы: голосов - 57, средняя оценка - 4.61
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
1

О разработке структуры базы данных (для начинающих) (обсуждение статьи)

01.02.2012, 12:01. Показов 11376. Ответов 65
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предлагаю обсудить здесь "статью", давайте ее откорректируем, дополним, и будет нормальное пособие для начинающих о том, с чего начать, как правильно построить структуру бд, на что следует обратить внимание в первую очередь. Потому как такие вопросы на форуме задаются очень часто.
3
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2012, 12:01
Ответы с готовыми решениями:

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

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

Статьи из базы данных
всем привет,сейчас делаю свой блог на php и дело дошло до того,что мне нужно было сделать вывод...

Скрипт для переноса структуры таблиц базы данных клиенту
Здравствуйте! У меня MSSQL Server 2012. Подскажите, как мне создать скрипт для переноса структуры...

65
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
30.11.2012, 11:08 61
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от taijet Посмотреть сообщение
Много что делать удобно, если ввод/просмотр данных делать через таблицу. А меня тут учат: ввод данных делать через формы. Кстати форм у вас в базе тоже нет.
Я пытаюсь вложить в свою голову правильные принципы, вот и пытаюсь не сбиться с пути.
Правильно учат. Это так же верно, как и то, что на Солнце легче смотреть через темные очки
0
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
30.11.2012, 11:12  [ТС] 62
Цитата Сообщение от alvk Посмотреть сообщение
В твоём варианте может быть разная специальность у студента и его группы.
с чего ты взял? оО конечно одинаковая. это дублирование специальности для удобства выбора. Обычно дублирование - это плохо, в этом случае это хорошо. Это мое мнение
0
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
30.11.2012, 18:09 63
Рискну добавить как общий совет: никогда -- НИКОГДА -- не делайте осмысленную информацию первичным ключом и, соответственно, полем связи, как в приведённом примере, где, как я понимаю, предлагается идентифицировать группу -- номером, студента -- номером зачотки, а преподавателя -- табельным номером. Иначе для вас станут весьма неприятным открытием случаи смены зачотки из-за потери или смены фамилии, глобальные перенумерования групп или табельных номеров. Нету у нас ничего постоянного и уникального кроме генетического кода, который также не стоит делать первичным ключом -- тупо из-за размера...

И ещё: не стоит увлекаться контролем правильности на уровне структуры базы. Радость оператора, введшего пятьдесят атрибутов и обнаружевшего, что пятьдесят первый ему забыли сообщить, из-за чего он не может сохранить введённое, не знает границ...
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
30.11.2012, 19:03 64
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от iifat Посмотреть сообщение
Рискну добавить как общий совет: никогда -- НИКОГДА -- не делайте осмысленную информацию первичным ключом и, соответственно, полем связи, как в приведённом примере, где, как я понимаю, предлагается идентифицировать группу -- номером, студента -- номером зачотки, а преподавателя -- табельным номером. Иначе для вас станут весьма неприятным открытием случаи смены зачотки из-за потери или смены фамилии, глобальные перенумерования групп или табельных номеров. Нету у нас ничего постоянного и уникального кроме генетического кода, который также не стоит делать первичным ключом -- тупо из-за размера...
В интернете можно найти множество хроник боев в "священной войне" суррогатные vs естественные ключи, не приносящих победу ни одной из сторон. Каждая сторона остается при своих убеждениях. Поэтому думаю не стоит затевать еще один холивар.
Цитата Сообщение от iifat Посмотреть сообщение
И ещё: не стоит увлекаться контролем правильности на уровне структуры базы. Радость оператора, введшего пятьдесят атрибутов и обнаружевшего, что пятьдесят первый ему забыли сообщить, из-за чего он не может сохранить введённое, не знает границ...
А в случае сохранения записи с отсутствующим обязательным атрибутом не меньший наплыв радости ощутит человек, распечатавший многостраничный отчет по этим данным.
3
Эксперт MS Access
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
01.12.2012, 11:32 65
Цитата Сообщение от iifat Посмотреть сообщение
Рискну добавить как общий совет: никогда -- НИКОГДА -- не делайте осмысленную информацию первичным ключом
Здесь таких ключей нет. Вы с темой ошиблись.
0
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
01.12.2012, 16:23 66
Цитата Сообщение от alvk Посмотреть сообщение
Здесь таких ключей нет. Вы с темой ошиблись.
Мы? Ошиблись? Невозможно!

Таки что тогда первичные ключи у перечисленных (студент, преподаватель, группа)?

Добавлено через 7 минут
Цитата Сообщение от minob Посмотреть сообщение
В интернете можно найти множество хроник боев в "священной войне" суррогатные vs естественные ключи, не приносящих победу ни одной из сторон. Каждая сторона остается при своих убеждениях. Поэтому думаю не стоит затевать еще один холивар
Спасибо. Почёл парочку. Ей богу, не хочу холиваров, но, как я понял, против приёма в принципе -- никто не возражает. Применять с умом -- да. Не панацея -- да. Однозначно глупо вводить в таблицу, например, связей m:n -- естественно. И тем не менее, в статью для начинающих, имхо, стоит добавить, с парочкой плюсов и минусов.

Цитата Сообщение от minob Посмотреть сообщение
А в случае сохранения записи с отсутствующим обязательным атрибутом не меньший наплыв радости ощутит человек, распечатавший многостраничный отчет по этим данным.
При нормальной постановке работы -- меньше. Проверки-то никуда не деваются и некорректные записи отслеживаются. При совсем уж нормальной организации человек, печатающий отчёты, таких записей вообще не увидит.

Добавлено через 14 минут
Цитата Сообщение от Pelena Посмотреть сообщение
А если в одном поле записаны Фамилия Имя Отчество? Я всегда думала, что это тоже не соответствует 1НФ
Вроде уже подробно рассмотрели, всё ж добавлю на всякий случай.

Что простое поле, а что составное -- определяется задачей. Вполне могу себе представить задачу, для которой не требуется делить ФИО на составляющие -- тогда это простое поле; а вот, например, если предполагается обмен с банком -- тут уж просто непременно делить на три, иначе рано или поздно появится какой-нибудь Пак Сун Чо -- при чём вполне может оказаться как Сун Чо без отчества, так и Сун, по отчеству Чо -- а для банка это принципиальная разница. Да и инициалы ему автоматом попробуй-ка подбери...
0
01.12.2012, 16:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2012, 16:23
Помогаю со студенческими работами здесь

Вывод статьи по id из базы данных
Всем Доброго времени суток! Я хочу реализовать вывод 1 статьи по нажатию ссылки...

Базы данных - книги,статьи
Хочу разобраться,что это за базы данных и как их строить. Кто может посоветовать книги/статью по...

Статьи через php и базы данных
Всем привет. Я вот посмотрел на сайтах и увидел, что менюшки ссылаются на такие вот ссылки:...

Используя синтаксис структуры составить программу для заполнения данными базы данных Рецепты
Используя синтаксис структуры составить программу для заполнения данными базы данных Рецепты со...


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

Или воспользуйтесь поиском по форуму:
66
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru