1.4 Проектирование таблиц.
Человек
Таблица 1:
Поле |
Тип |
Правило |
DNOMERPASPORTA |
Number(10) |
PK |
DFIO |
varchar2(100) |
Обязательное поле |
DDATAROZ |
DATE |
Обязательное поле |
DMESTOROZHDENYA |
varchar2(100) |
Обязательное поле |
DADRESRROZHIVANYA |
varchar2(100) |
Обязательное поле |
DDOMTELEFON |
Number(5) |
|
DPOCHTOVIYINDEX |
Number(6) |
|
В таблице 1 будет храниться информация о людях. Эта таблица имеет следующие поля:
DNOMERPASPORTA – первичный ключ таблицы - должен быть уникальным.№ паспорта состоит из 10 цифр;
DDATAROZ –хранит информацию о дате рождения человека. Дату рождения человека храним в формате даты;;
DFIO – определяет ФИО человека.Не может превышать более 100 символов;
DMESTOROZHDENYA – определяет место рождения человека. Т.к. Место рождения можно указывать полное(страна,город,район,область),то для этого поля требуется 100 символов;
DADRESRROZHIVANYA – определяет адрес по которому живет человек. Т.к. Адрес проживания можно указывать полный(район,обл.,улица,дом,квартира), то для этого поля требуется 100 символов ;
DDOMTELEFON – определяет домашний телефон человека. Не может превышать 5 цифр;
DPOCHTOVIYINDEX-определяет почтовый индекс человека.Не может превышать 6 цифр;
VARCHAR2(L) - символьные данные фиксированной длины L байт.
NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.
DATE - хранение даты и времени.
Анкета
Таблица 2:
Поле |
Тип |
Правило |
DENNOMERPASPORTA |
Number(10) |
PK,FK |
DENKODYCHEBZAV |
Number(5) |
PK,FK |
DNACHALO |
DATE |
|
DOKONCHA |
DATE |
|
DSPECIALNOST |
varchar2(100) |
Обязательное поле |
В таблице 2 будет храниться информация о образовании людей. Эта таблица имеет следующие поля:
DENNOMERPASPORTA – первичный ключ таблицы - должен быть уникальным. Не первышает 10 цифр;
DENKODYCHEBZAV– первичный ключ таблицы – должен быть уникальным. Состоит из 5 цифр, выбирается из таблицы Учебное заведение.
DNACHALO – хранит информацию о начале учебы человека. Начало учебы человека храним в формате даты;
DOKONCHA – хранит информацию о окончании учебы человека. Дату окончания учебы храним в формате даты;
DSPECIALNOST - определяет специальность, которую человек получил в результате учебы. Т.к. название профессии может быть длинным выделяем для него 100 символов.
VARCHAR2(L) - символьные данные фиксированной длины L байт.
NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.
DATE - хранение даты и времени.
Города
Таблица 3:
Поле |
Тип |
Правило |
DENKODGORODA |
Number(5) |
PK |
DNAZVANYEGORODA |
varchar2(50) |
Обязательное поле |
В таблице будет храниться информация о городах. Эта таблица имеет следующие поля:
DENKODGORODA -первичный ключ таблицы- должен быть уникальным. Т.к. учитываются только крупные города, то их количество не привысит 10000,поэтому для этого поля выделяем 5 цифр ;
DNAZVANYEGORODA – определяет город. Состоит из 50 символов.
Используемые типы данных:
VARCHAR2(L) - символьные данные фиксированной длины L байт;
NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.
Учебное заведение
Таблица 4:
Поле |
Тип |
Правило |
DENKODYCHEBZAV |
Number(5) |
PK |
DENNAZYCHEBZAV |
varchar2(100) |
Обязательное поле |
DENADRESDYCHEBNOGOZAVEDENYA |
varchar2(100) |
Обязательное поле |
DENKODGORODA |
Number(5) |
FK |
В таблице 4 будет храниться информация о учебных заведениях. Эта таблица имеет следующие поля:
DENKODYCHEBZAV – первичный ключ таблицы - должен быть уникальным. Код учебного заведения не может превышать 5 цифр;
DENNAZYCHEBZAV – определяет название учебного заведения, которое состоит из 100 символов;
DENADRESDYCHEBNOGOZAVEDENYA – определяет адрес учебного заведения. Включает не более 100 символов;
DENKODGORODA - определяет код города, в котором находится учебное заведение, выбирается из таблицы Города. Состоит из 5 цифр;
VARCHAR2(L) - символьные данные фиксированной длины L байт.
NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.
Место
Таблица 5:
Поле |
Тип |
Правило |
DKODPREDPRIYATIA |
Number(5) |
PK |
DNAZVANIEPREDPRIYATIA |
varchar2(100) |
Обязательное поле |
DKODGORODA |
Number(5) |
FK |
DADRESPREDPRIYATIA |
varchar2(100) |
Обязательное поле |
DNOMERTELEFONA |
Number(5) |
Обязательное поле и >0 |
В таблице 5 будет храниться информация о Предприятиях. Эта таблица имеет следующие поля:
DKODPREDPRIYATIA – первичный ключ таблицы - должен быть уникальным.Код предприятия не превышает 5 цифр;
DNAZVANIEPREDPRIYATIA – определяет название пердприятия, т.к. название может указываться полное(не только абревиатуры),то выделяем под это поле 100 символов;
DKODGORODA - определяет код города, в котором находится учебное заведение, выбирается из таблицы Города. Состоит из 5 цифр;
DADRESPREDPRIYATIA – определяе адрес предприятия. Состоит из 100 символов.
DNOMERTELEFONA – определяет номер телефона предприятия. Не может превышать 5 цифр;
VARCHAR2(L) - символьные данные фиксированной длины L байт.
NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.
Работа человека
Таблица 6:
Поле |
Тип |
Правило |
DENLICHNIYNOMERRABOTNIKA |
Number(5) |
PK |
DNOMERPASPORTA |
Number(10) |
FK |
DDATAPOS |
DATE |
|
DDATAYVO |
DATE |
|
DDOLZHNOST |
varchar2(50) |
Обязательное поле |
DKODPREDPRIYATIA |
Number(5) |
PK,FK |
В таблице 6 будет храниться информация о Людях работающих на предприятии. Эта таблица имеет следующие поля:
DENLICHNIYNOMERRABOTNIKA – первичный ключ таблицы - должен быть уникальным.Личный номер присваиваивается работодателем работнику при поступлении на работу,состоит из 5 цифр;
DNOMERPASPORTA –номер паспорта человека.Состоит из 10 цифр;
DDATAPOS – хранит информацию о дате поступления человека на работу. Дату поступления храним в формате даты;;
DDATAYVO – хранит информацию о дате увольнения человека с работы. Дату увольнения храним в формате даты;;
DDOLZHNOST – определяет должность занимаемую человеком на предприятии. Состоит из 50 символов;
DKODPREDPRIYATIA - первичный ключ таблицы - должен быть уникальным. Определяет код предприятия, на котором работает работник, выбирается из таблицы Место. Состоит из 5 цифр.
VARCHAR2(L) - символьные данные фиксированной длины L байт.
NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.
DATE - хранение даты и времени.