|
|
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. В универститете появился такой предмет как БД. Задание было составить БД с последующим проэктированием. Я сейчас провел нормализацию и расписал тип данных и т.д. Выкладываю свою работу и прошу тех, кто разбирается указать на ошибки,особенно если они есть в нормализации.. Не обращайте внимание на то что там всё очень просто, облегчаю себе работу:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:33 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Ошибка: проЕктирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 11:38 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Там анализ предметной области далеко не самый правильный. Т.е. задание уже заведомо неверное. Напр., в современных А/М НЕТ номера двигателя, есть VIN только. А в старых наоборот есть ещё и номер кузова. Кол-во цилиндров, как и самих цилиндров у А/М может не быть вовсе. И так далее. Покупатели/Паспортные данные -- это какое поле ? Сколько полей ? Д.б. несколько. ФИО -- то же самое. Модель чем от марки отличается ? Есть модель а/М (например, форд-фокус -1) и экземпляр а/м (конкретный автомобиль). Год выпуска -- у конкретного. Заводская цена -- вообще у партии. Наличие на складе, -- блин , на кой это поле вообще, если у тебя а/м по-VIN-но перечислены должны быть ? Паспортные данные НЕ МОГУТ однозначно идентифицировать человека, как у тебя написано. Запомни на всю ост. жизнь -- только идентификатор в твоей БД может что-то идентифицировать. Ну и далее выпоры ПК тоже все переделывать. В таблице должно быть -- 1 первычный ключ -- внутренний генерируемый идентификатор. -- возможно, один уникальный индекс, если сущность внешне идентифицируема. Но уж не по паспорту точно. Тем более ты даже не определил, что ж это за такие загадочные "паспортные данные". Судя по Pr_pass Varchar(150) ты туда хочешь запихать четыре поля прописью, серия номер, дата выдачи и выдающая организация. Это уже нарушение 1 НФ. А ты это ещё и в PK хочеш засунуть. В общем -- сущности проработаны плохо, «Покупатели», «Продажа», «Автомобили». -- таблиц должно быть больше. Как минимум -- экземпляр автомобиля. И c PK/UN надо разбираться. Пока видно только желание сделать (что похвально), но сделано на неуд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 13:35 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Я бы добавил: Марка - Поколение (Марка+год) - Типовая комплектация - (Марка+год+типовая от завода) - Конкретный экземпляр (Марка+год+типовая от завода+допоборудование), который уже и покупается. Покупка машины не проходит одномоментно. Она сначала заказывается в типовой комплектации, при этом может вноситься предоплата, затем поступает к дилеру, оплачивается полностью или несколькими частями, на нее у дилера устанавливают допоборудование, доплата за него, и наконец - выдача покупателю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 13:46 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
MasterZivЭто уже нарушение 1 НФ. Это пох если данные чисто справочные и по ним не предполагается поиск/анализ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 13:47 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
> Это пох если данные чисто справочные и по ним не предполагается поиск/анализ. От тебя не ожидал такух херню услышать. Но он её ещё в PK собирается зафигачить, так что уж что-что, а поиск по нему гарантирован. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 16:16 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
MasterZivОт тебя не ожидал такух херню услышать. Вовсе нет. Первая НФ не нарушается, если информация, хранимая в поле, обрабатывается как единое неделимое целое. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 17:15 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
> Вовсе нет. Первая НФ не нарушается, если информация, хранимая в поле, > обрабатывается как > единое неделимое целое. Всё так, но не в ПК же. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 17:36 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за отзывы, я потихоньку разбирусь. Просто я еще на вверху всего этого. Насчет паспортных данных, нам преподаватель говорил, что у каждого человека свои паспортные данные( уникальные ) , поэтому они определяют человека , и в таблице не будет двух одинаковых людей. Стоит еще учитывать что всех учат по разному:( MasterZiv, Насчет таблицы "экземпляр" которую ты упомянул. Я делал так, преподавателю не понравилось. Там получилось что тип связи между "продажи" и "экземпляр" получилась 1 к 1 , то есть таблицы потом объеденятся при нормализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 20:14 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Извиняюсь за картинку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 20:16 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
terwetНасчет паспортных данных, нам преподаватель говорил, что у каждого человека свои паспортные данные( уникальные ) , поэтому они определяют человека , и в таблице не будет двух одинаковых людей. Он или врал, или был не в теме или Вы его не так поняли. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 20:49 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А объясните пожалуйста мне этот вопрос. Ведь у каждого свои паспортные данные , и не может быть повторяющихся записей в таблице , разве нет? каждому человека свой номер серия паспорта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 21:00 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
terwetА объясните пожалуйста мне этот вопрос. Ты сам поймёшь, пройдя через три-четыре смены паспорта. Или встретив два паспорта с одинаковыми номерами. Или людей без паспорта. И т.д. и т.п. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 21:03 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
> Стоит еще учитывать что всех учат по разному:( Я сомневаюсь, что вас учили хранить 4 поля в однов в виде склеенного текста и пихать потом это поле в PK таблицы. > Насчет таблицы "экземпляр" которую ты упомянул. > Я делал так, преподавателю не понравилось. Там получилось что тип связи между > "продажи" и "экземпляр" получилась 1 к 1 , то есть таблицы потом объеденятся при > нормализации. С чего бы это ? Что, одну и ту же машину нельзя продать несколько раз ? (купив, естественно, в промежутках). Объясняю ещё раз. У тебя есть 20 машин "Волга ГАЗ 24", одинаковой комплектации и модели. Объём двигателя у них у всех ОДИНАКОВЫЙ. Мощность, колёсная база, применяемые покрышки, диски, клиренс -- всё одинаковое. Но VIN у них будет У КАЖДОЙ СВОЙ. Но в таблицу ПРОДАЖИ это пихать тоже нельзя, потому что ДО продажи уже нужно VIN куда-то вбивать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2012, 01:43 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
> А объясните пожалуйста мне этот вопрос. Ведь у каждого свои паспортные данные , > и не может быть повторяющихся записей в таблице , разве нет? каждому человека > свой номер серия паспорта. Паспорта : крадут. подделывают. у некоторых людей их ДВА (заграничный и обычный, или старый и новый (один -- недействителен СЕЙЧАС, но на момент ввода данных в БД он был действителен, а после его уничтожения человек к вам что не может за автомобилем прийти с новым?) у некоторых людей (что характерно!!) вообще нет паспорта (военные или люди, никогда не получавшие паспорт). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2012, 01:47 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Ну если паспорт был утерян , а потом получен новый , то данные в базе просто обновят сотрудники:) У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в ней будет РК - номер двигателя , остальные поля " Марка" , "Модель" ,"цвет" . Таблица "Автомобиль" останется такой же и будет иметь с таблицей экземпляр связь один ко многим. А вот таблица "Продажа" и таблица "Экземпляр" , будет иметь связь один ко одному или нет? Ведь у каждого автомобиля свой уникальный номер двигателя , и только один автомобиль может быть продан только один раз. Ведь так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2012, 20:39 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
terwetMasterZiv, Ну если паспорт был утерян , а потом получен новый , то данные в базе просто обновят сотрудники:) У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в ней будет РК - номер двигателя , остальные поля " Марка" , "Модель" ,"цвет" . Таблица "Автомобиль" останется такой же и будет иметь с таблицей экземпляр связь один ко многим. А вот таблица "Продажа" и таблица "Экземпляр" , будет иметь связь один ко одному или нет? Ведь у каждого автомобиля свой уникальный номер двигателя , и только один автомобиль может быть продан только один раз. Ведь так? Вам в голову не приходило, что автомобили марок ЗИЛ, ВАЗ и КАМАЗ могут иметь разные двигатели, но с одинаковыми номерами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2012, 23:09 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
sphinx_mv, А вот как, просто мне говорил опять же преподователь -:" Возьмите за РК номер двигателя,так как у каждой машини он уникальный". Хотя признаюсь, что я сам думал что не может быть одинаковых в мире номеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 10:19 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
On 04/14/2012 09:39 PM, terwet wrote: > > Ну если паспорт был утерян , а потом получен новый , то данные в базе просто > обновят сотрудники:) Ты что, PK собираешься менять ? Ну-ну... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 15:14 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
> У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в > ней будет РК - номер двигателя , Блин, ещё раз. Не пихай НИКОГДА сущности внешнего мира (предметной области) в первичные ключи. остальные поля " Марка" , "Модель" ,"цвет" . > Таблица "Автомобиль" останется такой же и будет иметь с таблицей экземпляр связь > один ко многим. А вот таблица "Продажа" и таблица "Экземпляр" , будет иметь > связь один ко одному или нет? Нет,"Экземпляр" к "Продажа" будет один ко многим. Один экземпляр можно продать несколько раз. Ведь у каждого автомобиля свой уникальный номер > двигателя , и только один автомобиль может быть продан только один раз. Ведь так? Нет, продали, купили, продали опять, купили, продали ещё раз -- в чём проблема ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 15:17 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
> А вот как, просто мне говорил опять же преподователь -:" Возьмите за РК номер > двигателя,так как у каждой машини он уникальный". Хотя признаюсь, что я сам > думал что не может быть одинаковых в мире номеров. У современных а/м есть VIN, он уникален в мире. В VIN входит код производителя и год выпуска (если не ошибаюсь). Если VIN неуникален -- это криминал. у старых а/м не было VIN-ов, был производитель, год выпуска и номера агрегатов (обычно, двигатель и кузов, иногда ещё и шасси) Как ставили номера каждый из производителей -- была его проблема. Но даже сейчас VIN нельзя шарахать в PK таблицы, даже UNIQUE его нельзя делать -- как будешь криминальный авто учитывать ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 15:21 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
А если например ввести "Код покупателя" , "Код экземпляра" , и каждому человеку присваивается свой код который не меняется. А каждому экземпляру тоже свой код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 17:00 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
Решил пойти по другому пути. Разберу связи. "Покупатель" с "Продажа" будет иметь связь один ко многим , потому что один покупателю могут сделать несколько продаж , но одна продажа соответствует только одному покупателю. "Продажа" с "Экземпляр" имеет связь один ко многим. Допустим есть 20 автомобилей одной марки модели, у них у всех один код . То есть мы можем продать несколько экземпляров , но один экземпляр соответствует только одной продаже. "Экземпляр" с "автомобиль" , один ко многим. так как автомобиль определенной марки может быть в нескольких экземпляров. Но один экземпляр соответствует одному автомобилю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 23:08 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
и в таблицу продажа тогда еще нужно занести количество экземплярова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2012, 23:16 |
|
||
|
Нужна помощь критиков!!!:)
|
|||
|---|---|---|---|
|
#18+
terwetНу если паспорт был утерян , а потом получен новый , то данные в базе просто обновят сотрудники:) У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в ней будет РК - номер двигателя , Ты ведь учишься? Тогда не спорь, а хотя бы прими на веру ;) - PK делай *только* искусственным, то есть генерируемым системой. А в дальнейшем прочитай литературу по вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 11:01 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37754314&tid=1541735]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 512ms |

| 0 / 0 |
