Проектирование и реализация структуры базы данных в СУБД MS SQL server 2008 R2

Автор работы: Пользователь скрыл имя, 08 Декабря 2014 в 12:00, лабораторная работа

Описание работы

Так как предусматривается возможность авторизации / регистрации, то, разумеется, необходимо организовать таблицы: регистрация, в которой будут храниться логин и пароль пользователя и таблица «информация о пользователе», в которой будут храниться все личные данные. Также при регистрации мы учли возможность создание профиля для поставщика.

Файлы: 1 файл

Лаба 1 БД.docx

— 1.05 Мб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ

ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

Институт управления в экономических, экологических и социальных системах

Кафедра менеджмента


 

 

 

 

 

 

 

Отчет

по лабораторной работе № 1

по курсу «Базы данных и СУБД» на тему:

«Проектирование и реализация структуры базы данных в СУБД MS SQL server 2008 R2»

Вариант 2

 

 

 

Выполнили: ст-ты гр.М-42

Бехтер Д.А.

Толстобоков В.В.

Проверил: преподаватель МОП ЭВМ

Селянкин В.В

 

 

Таганрог 2014г

 

 

 

 

 

 

Оглавление

 

 

 

Описание технического задания

Требуется создать базу данных для интернет-магазина, в котором предусмотреть возможность:

 

1.просматривать  список товаров для незарегистрированного  пользователя;

2. регистрироваться  новому пользователю сайта;

3. зарегистрированному  пользователю покупать товары;

4. добавлять  комментарии зарегистрированному  пользователю;

5. хранить  выбранные для покупки товары  в корзине;

6. учитывать  товары со скидкой;

7. при регистрации учитывать возможность создание профиля для поставщика;

 

 

 

 

 

Анализ задания

Так как предусматривается возможность авторизации / регистрации, то, разумеется, необходимо организовать таблицы: регистрация, в которой будут храниться логин и пароль пользователя и   таблица «информация о пользователе», в которой будут храниться все личные данные. Также при регистрации мы учли возможность создание профиля для поставщика.

Т.к у нас интернет-магазин, то имеем перечень таблиц с наименованием товаров, такие как: “Camers”,”tv”,”telephones”,”tablets”,”pc”,”notebooks”.Выбранный пользователем товар помещается в корзину, для которой мы предусмотрели отдельную таблицу “Recycler”.В каждой таблице для товаров и в корзине мы предусмотрели столбцы для скидок(“Discount”, “Bargain price” По желанию пользователь может оставить комментарии- это стало возможным благодаря созданной нами таблице “Comments”

 

 

 

 

 

 

 

 

 

 

 

 

 

Проектирование БД для хранения информации

Построение концептуальной ER-модели на основе проведенного анализа задания.

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Общее описание таблиц

“Users” – таблица хранения логин/ пароля каждого зарегистрированного пользователя на сайте, поставщик ли он

“Users_info” – таблица хранения персональной информации о пользователе.

“Suplier” – таблица хранения данных о поставщике (количество товаров, цена, дата доставки,место).

“Camers” –таблица хранения данных о фото и видео камерах.

“Notebooks” – таблица хранения данных о ноутбуках.

“Tablets” – таблица хранения данных о планшетах .

“Telephones” – таблица хранения данных о телефонах .

“Pc” – таблица хранения данных о компьютерах.

“Tv” таблица хранения данных о телевизорах.

“Comments” – таблица для хранения комментариев к товарам, оставленных пользователями. “Recycler” –таблица для хранения данных о предполагаемых покупках (наименование товаров, стоимость, учитывая возможные скидки).

Описание структуры таблиц

Users

Имя столбца

Тип данных

Дополнительно

Person_id

Int

Primary Key, Identity

login

Nvarchar(50)

 

password

Nvarchar(50)

 

Is_suplier

bit

0 – default value


 

 

Users_info

Имя столбца

Тип данных

Дополнительно

Person_id

Int

Primary Key, Identity

First_name

nvarchar(70)

 

Surname

nvarchar(100)

 

Pol

nvarchar(50)

 

Age

nvarchar(50)

 

Country

nvarchar(100)

 

City

nvarchar(100)

 

Phone

nvarchar(50)

 

[E-mail]

nvarchar(100)

 

[Single/Marry]

nvarchar(50)

 

 

 

 

 

 

Suplier

Имя столбца

Тип данных

Дополнительно

Person_id

Int

Primary Key, Identity

Product_name

nvarchar(100)

 

Quantity

Int

 

Price

nvarchar(50)

 

[Time delevery]

Date

 

[Place of delevery]

nvarchar(100)

 

 

 

 

Camers

Имя столбца

Тип данных

Дополнительно

Photo_id

Int

 

0 – default value

Product_name

nvarchar(100)

 

MegaPixel

nvarchar(50)

 

[Focal length]

nvarchar(50)

 

[Video quality]

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

[Bargain price]

nvarchar(50)

 

 

 

Notebooks

Имя столбца

Тип данных

Дополнительно

note_id

int

 

0 – default value

Product_name

nvarchar(100)

 

OS

nvarchar(50)

 

Battery

nvarchar(50)

 

RAM

nvarchar(50)

 

Videomemory

nvarchar(50)

 

Processor

nvarchar(50)

 

HDD

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

[Bargain price]

nvarchar(50)

 

 

 

 

 

 

PC

Имя столбца

Тип данных

Дополнительно

pc_id

nvarchar(100)

0 – default value

Product_name

nvarchar(100)

 

OS

nvarchar(50)

 

RAM

nvarchar(50)

 

Videomemory

nvarchar(50)

 

Processor

nvarchar(70)

 

HDD

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

[Bargain price]

nvarchar(50)

 

 

 

Tablets

Имя столбца

Тип данных

Дополнительно

tablet_id

int

0 – default value

Product_name

nvarchar(100)

 

OS

nvarchar(50)

 

Battery

nvarchar(50)

 

RAM

nvarchar(50)

 

Processor

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

Bargain price

nvarchar(50)

 

 

 

Telephones

Имя столбца

Тип данных

Дополнительно

Telephone_id

int

0 – default value

Product_name

nvarchar(100)

 

OS

nvarchar(50)

 

[Screen Resolution]

nvarchar(50)

 

Camera

nvarchar(50)

 

Battery

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

Bargain price

nvarchar(50)

 

 

 

TV

Имя столбца

Тип данных

Дополнительно

tv_id

int

0 – default value

Product_name

nvarchar(100)

 

[Screen Resolution]

nvarchar(50)

 

Diagonal

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

[Bargain price]

nvarchar(50)

 

 

 

 

Comments

Имя столбца

Тип данных

Дополнительно

Comment_id

int

0 – default value

Person_id

int

 

Product_name

nvarchar(50)

Primary Key, Identity

Time

date

 

Comment

nvarchar(MAX)

 

 

 

Recycler

Имя столбца

Тип данных

Дополнительно

Person_id

int

 

Product_name

nvarchar(100)

Primary Key, Identity

Quantity

nvarchar(50)

 

Price

nvarchar(50)

 

Discount

nvarchar(50)

 

Bargain price

nvarchar(50)

 

 

 

Описание ограничений сущности 

Имя таблицы

Allow Nulls поля 

Ограничения

Users

is_suplier

-

User_info

-

-

Suplier

-

-

tv

Discount, Bargain price

-

telephones

Discount, Bargain price

-

notebooks

Discount, Bargain price

-

pc

Discount, Bargain price

-

tablets

Discount, Bargain price

-

camers

Discount, Bargain price

-

comments

-

-

recycler

Discount, Bargain price

-


 

 

 

“Users”

Поле “is_suplier” может быть пустым, т.к. не все пользователи могут быть поставщиками.

В таблицах товаров и корзине поля “Discount” и “Bargain price” могут быть пустыми, т.к. не на все товары предусмотрены скидки.

Описание ограничений ссылочной целостности

Связанные таблицы

Имя связи

Delete Rule

Update Rule

Пояснение

Users - User_info

[FK_users info_users1]

Cascade

No action

При удалении записи из таблицы Users удаляется запись в таблице User_info,так как она более не требуется.

Suplier-Users_info

[FK_suplier_users info]

Cascade

No action

Запись в таблице Suplier при удалении записи в User_info более не требуется

Comments-Users_info

[FK_comments_users info]

Cascade

No action

При удалении пользователя, удаляются все оставленные им комментарии

Recycler-Users_info1

[FK_Recycler_users info1]

Cascade

No action

При удалении пользователя, удаляются все выбранные им товары в корзине.

TV-Users_info,

Tablets-Users_info,

PC-Users_info,

Telephones-Users_info,

Camers-Users_info,

Notebooks-Users_info

[FK_tv_users info]/ [FK_tablets_users info]/ [FK_pc_users info]/ [FK_telephones_users info]/ [FK_camers_users info]/ [FK_notebooks_users info]

No action

No action

При удалении пользователя, с таблицами товаров ничего не произойдет.

Tv-Recycler,

Notebooks-Recycler,

Pc-Recycler,

Telephones-Recycler,

Tablets-Recycler,

Camers-Recycler,

 

 

FK_tv_Recycler,

FK_notebooks_Recycler,

FK_pc_Recycler,

FK_telephones_Recycler,

FK_tablets_Recycler,

FK_camers_Recycler

No action

No action

При удалении товара из корзины ничего не произойдет.

Tv-Comments,

Notebooks-Comments,

Pc-Comments,

Telephones-Comments,

Tablets-Comments,

Camers-Comments

FK_tv_Comments,

FK_notebooks_Comments,

FK_pc_Comments,

FK_telephones_Comments,

FK_tablets_Comments,

FK_camers_Comments

No action

No action

При удалении комментариев ничего не произойдет.


 

 

 

 

 

 

 

Внешние и родительские ключи

 

Имя таблицы

Родительский ключ

Внешний ключ

Users

-

-

Users_info

Person_id-> Person_id (Users)

Person_id->tv_id(TV)

Person_id->photo_id(Camers)

Person_id->telephone_id(Telephones)

Person_id->note_id(Notebooks)

Person_id->tablet_id(Tablets)

Person_id->pc_id(PC)

Person_id->comment_id(Comments)

Suplier

Person_id ->person_id(User_info)

-

Recycler

Person_id-person_id(User_info)

Product_name ->tv_id(TV)

Product_name ->photo_id(Camers)

Product_name ->telephone_id(Telephones)

Product_name ->note_id(Notebooks)

Product_name ->tablet_id(Tablets)

Product_name ->pc_id(PC)

TV

-

-

Camers

-

-

Telephones

-

-

Notebooks

-

-

Tablets

-

-

PC

-

-

Comments

-

Product_name ->tv_id(TV)

Product_name ->photo_id(Camers)

Product_name ->telephone_id(Telephones)

Product_name ->note_id(Notebooks)

Product_name ->tablet_id(Tablets)

Product_name ->pc_id(PC)

Информация о работе Проектирование и реализация структуры базы данных в СУБД MS SQL server 2008 R2