powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна помощь критиков!!!:)
28 сообщений из 28, показаны все 2 страниц
Нужна помощь критиков!!!:)
    #37751854
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день. В универститете появился такой предмет как БД. Задание было составить БД с последующим проэктированием. Я сейчас провел нормализацию и расписал тип данных и т.д. Выкладываю свою работу и прошу тех, кто разбирается указать на ошибки,особенно если они есть в нормализации.. Не обращайте внимание на то что там всё очень просто, облегчаю себе работу:)
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37752027
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка: проЕктирование.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37752373
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там анализ предметной области далеко не самый правильный. Т.е. задание уже заведомо неверное.
Напр., в современных А/М НЕТ номера двигателя, есть VIN только. А в старых наоборот есть ещё и номер кузова.
Кол-во цилиндров, как и самих цилиндров у А/М может не быть вовсе. И так далее.

Покупатели/Паспортные данные -- это какое поле ? Сколько полей ? Д.б. несколько.
ФИО -- то же самое.

Модель чем от марки отличается ?

Есть модель а/М (например, форд-фокус -1) и экземпляр а/м (конкретный автомобиль).
Год выпуска -- у конкретного. Заводская цена -- вообще у партии.

Наличие на складе, -- блин , на кой это поле вообще, если у тебя а/м по-VIN-но перечислены должны быть ?


Паспортные данные НЕ МОГУТ однозначно идентифицировать человека, как у тебя написано.
Запомни на всю ост. жизнь -- только идентификатор в твоей БД может что-то идентифицировать.

Ну и далее выпоры ПК тоже все переделывать.

В таблице должно быть
-- 1 первычный ключ -- внутренний генерируемый идентификатор.
-- возможно, один уникальный индекс, если сущность внешне идентифицируема.

Но уж не по паспорту точно. Тем более ты даже не определил, что ж это за такие загадочные "паспортные данные".

Судя по Pr_pass Varchar(150) ты туда хочешь запихать четыре поля прописью, серия номер, дата выдачи и выдающая организация.
Это уже нарушение 1 НФ. А ты это ещё и в PK хочеш засунуть.

В общем -- сущности проработаны плохо, «Покупатели», «Продажа», «Автомобили». -- таблиц должно быть больше.
Как минимум -- экземпляр автомобиля.

И c PK/UN надо разбираться.

Пока видно только желание сделать (что похвально), но сделано на неуд.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37752401
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы добавил:

Марка - Поколение (Марка+год) - Типовая комплектация - (Марка+год+типовая от завода) - Конкретный экземпляр (Марка+год+типовая от завода+допоборудование), который уже и покупается.

Покупка машины не проходит одномоментно. Она сначала заказывается в типовой комплектации, при этом может вноситься предоплата, затем поступает к дилеру, оплачивается полностью или несколькими частями, на нее у дилера устанавливают допоборудование, доплата за него, и наконец - выдача покупателю.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37752406
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто уже нарушение 1 НФ.
Это пох если данные чисто справочные и по ним не предполагается поиск/анализ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37752880
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Это пох если данные чисто справочные и по ним не предполагается поиск/анализ.

От тебя не ожидал такух херню услышать.
Но он её ещё в PK собирается зафигачить, так что уж что-что, а поиск по нему
гарантирован.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753021
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivОт тебя не ожидал такух херню услышать.

Вовсе нет. Первая НФ не нарушается, если информация, хранимая в поле, обрабатывается как
единое неделимое целое.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753069
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Вовсе нет. Первая НФ не нарушается, если информация, хранимая в поле,
> обрабатывается как
> единое неделимое целое.

Всё так, но не в ПК же.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753349
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за отзывы, я потихоньку разбирусь. Просто я еще на вверху всего этого.
Насчет паспортных данных, нам преподаватель говорил, что у каждого человека свои паспортные данные( уникальные ) , поэтому они определяют человека , и в таблице не будет двух одинаковых людей.
Стоит еще учитывать что всех учат по разному:(


MasterZiv,

Насчет таблицы "экземпляр" которую ты упомянул.
Я делал так, преподавателю не понравилось. Там получилось что тип связи между "продажи" и "экземпляр" получилась 1 к 1 , то есть таблицы потом объеденятся при нормализации.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753351
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за картинку.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753390
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terwetНасчет паспортных данных, нам преподаватель говорил, что у каждого человека свои
паспортные данные( уникальные ) , поэтому они определяют человека , и в таблице не будет
двух одинаковых людей.
Он или врал, или был не в теме или Вы его не так поняли.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753408
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

А объясните пожалуйста мне этот вопрос. Ведь у каждого свои паспортные данные , и не может быть повторяющихся записей в таблице , разве нет? каждому человека свой номер серия паспорта.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753414
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terwetА объясните пожалуйста мне этот вопрос.
Ты сам поймёшь, пройдя через три-четыре смены паспорта. Или встретив два паспорта с
одинаковыми номерами. Или людей без паспорта. И т.д. и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753701
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Стоит еще учитывать что всех учат по разному:(

Я сомневаюсь, что вас учили хранить 4 поля в однов в виде
склеенного текста и пихать потом это поле в PK таблицы.


> Насчет таблицы "экземпляр" которую ты упомянул.
> Я делал так, преподавателю не понравилось. Там получилось что тип связи между
> "продажи" и "экземпляр" получилась 1 к 1 , то есть таблицы потом объеденятся при
> нормализации.

С чего бы это ? Что, одну и ту же машину нельзя продать несколько раз ?
(купив, естественно, в промежутках).

Объясняю ещё раз. У тебя есть 20 машин "Волга ГАЗ 24", одинаковой
комплектации и модели. Объём двигателя у них у всех ОДИНАКОВЫЙ.
Мощность, колёсная база, применяемые покрышки, диски, клиренс --
всё одинаковое. Но VIN у них будет У КАЖДОЙ СВОЙ.

Но в таблицу ПРОДАЖИ это пихать тоже нельзя, потому что ДО продажи
уже нужно VIN куда-то вбивать.


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37753705
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А объясните пожалуйста мне этот вопрос. Ведь у каждого свои паспортные данные ,
> и не может быть повторяющихся записей в таблице , разве нет? каждому человека
> свой номер серия паспорта.

Паспорта :

крадут.
подделывают.
у некоторых людей их ДВА (заграничный и обычный, или старый и новый (один --
недействителен СЕЙЧАС, но на момент ввода данных в БД он был действителен, а
после его уничтожения человек к вам что не может за автомобилем прийти с новым?)
у некоторых людей (что характерно!!) вообще нет паспорта (военные или люди,
никогда не получавшие паспорт).

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754213
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Ну если паспорт был утерян , а потом получен новый , то данные в базе просто обновят сотрудники:)

У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в ней будет РК - номер двигателя , остальные поля " Марка" , "Модель" ,"цвет" . Таблица "Автомобиль" останется такой же и будет иметь с таблицей экземпляр связь один ко многим. А вот таблица "Продажа" и таблица "Экземпляр" , будет иметь связь один ко одному или нет? Ведь у каждого автомобиля свой уникальный номер двигателя , и только один автомобиль может быть продан только один раз. Ведь так?
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754314
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terwetMasterZiv,

Ну если паспорт был утерян , а потом получен новый , то данные в базе просто обновят сотрудники:)

У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в ней будет РК - номер двигателя , остальные поля " Марка" , "Модель" ,"цвет" . Таблица "Автомобиль" останется такой же и будет иметь с таблицей экземпляр связь один ко многим. А вот таблица "Продажа" и таблица "Экземпляр" , будет иметь связь один ко одному или нет? Ведь у каждого автомобиля свой уникальный номер двигателя , и только один автомобиль может быть продан только один раз. Ведь так?
Вам в голову не приходило, что автомобили марок ЗИЛ, ВАЗ и КАМАЗ могут иметь разные двигатели, но с одинаковыми номерами?
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754398
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

А вот как, просто мне говорил опять же преподователь -:" Возьмите за РК номер двигателя,так как у каждой машини он уникальный". Хотя признаюсь, что я сам думал что не может быть одинаковых в мире номеров.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754543
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/14/2012 09:39 PM, terwet wrote:
>
> Ну если паспорт был утерян , а потом получен новый , то данные в базе просто
> обновят сотрудники:)

Ты что, PK собираешься менять ?
Ну-ну...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754545
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в
> ней будет РК - номер двигателя ,

Блин, ещё раз. Не пихай НИКОГДА сущности внешнего мира (предметной области)
в первичные ключи.

остальные поля " Марка" , "Модель" ,"цвет" .
> Таблица "Автомобиль" останется такой же и будет иметь с таблицей экземпляр связь
> один ко многим. А вот таблица "Продажа" и таблица "Экземпляр" , будет иметь
> связь один ко одному или нет?


Нет,"Экземпляр" к "Продажа" будет один ко многим.
Один экземпляр можно продать несколько раз.

Ведь у каждого автомобиля свой уникальный номер
> двигателя , и только один автомобиль может быть продан только один раз. Ведь так?

Нет, продали, купили, продали опять, купили, продали ещё раз -- в чём проблема ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754546
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А вот как, просто мне говорил опять же преподователь -:" Возьмите за РК номер
> двигателя,так как у каждой машини он уникальный". Хотя признаюсь, что я сам
> думал что не может быть одинаковых в мире номеров.

У современных а/м есть VIN, он уникален в мире. В VIN входит код производителя
и год выпуска (если не ошибаюсь).
Если VIN неуникален -- это криминал.
у старых а/м не было VIN-ов, был производитель, год выпуска и номера
агрегатов (обычно, двигатель и кузов, иногда ещё и шасси)
Как ставили номера каждый из производителей -- была его проблема.

Но даже сейчас VIN нельзя шарахать в PK таблицы, даже UNIQUE его нельзя делать
-- как будешь криминальный авто учитывать ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754589
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если например ввести "Код покупателя" , "Код экземпляра" , и каждому человеку присваивается свой код который не меняется. А каждому экземпляру тоже свой код.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754836
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил пойти по другому пути.

Разберу связи. "Покупатель" с "Продажа" будет иметь связь один ко многим , потому что один покупателю могут сделать несколько продаж , но одна продажа соответствует только одному покупателю.
"Продажа" с "Экземпляр" имеет связь один ко многим. Допустим есть 20 автомобилей одной марки модели, у них у всех один код . То есть мы можем продать несколько экземпляров , но один экземпляр соответствует только одной продаже.
"Экземпляр" с "автомобиль" , один ко многим. так как автомобиль определенной марки может быть в нескольких экземпляров. Но один экземпляр соответствует одному автомобилю
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37754841
terwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в таблицу продажа тогда еще нужно занести количество экземплярова.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37755158
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terwetНу если паспорт был утерян , а потом получен новый , то данные в базе просто обновят сотрудники:)

У меня вопрос по структуре, вот например я создам еще таблицу "Экземпляр" , в ней будет РК - номер двигателя , Ты ведь учишься? Тогда не спорь, а хотя бы прими на веру ;) - PK делай *только* искусственным, то есть генерируемым системой. А в дальнейшем прочитай литературу по вопросу.
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37755212
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terwet,

интересно, если в торговом павильоне стоит две одинаковые машины, вы их по vin`у отличаете или у вас еще 1-2 критерия?
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37755345
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/15/2012 06:00 PM, terwet wrote:

> А если например ввести "Код покупателя" , "Код экземпляра" , и каждому человеку
> присваивается свой код который не меняется. А каждому экземпляру тоже свой код.

Никакого "ЕСЛИ" -- только так и надо делать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужна помощь критиков!!!:)
    #37755356
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terwet,

Уже лучше, хотя бы потому, что ER-диаграммы стал рисовать.
Теперь -- только суррогатные PK, проработать как следует справочники (добавить надо)
ну и там будет видно .

ER-диаграммы рисуй, это правильно.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна помощь критиков!!!:)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]