Описание таблиц базы данных

База данных представлена шестью таблицами Customer, Employee, Orders, Product, Supplier, Time. Рассмотрим структуру каждой более подробно.

В таблице Customer представлена информация о клиентах. Поля, их типы, назначение и ограничения, накладываемые на поля представлены в следующем скрипте:

CREATE TABLE [dbo].[Customer] (

[IDcustomer] [int] NOT NULL ,

[CompanyName] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,

[City] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,

[Country] [char] (20) COLLATE Cyrillic_General_CI_AS NULL

) ON [PRIMARY]

GO

Первичным ключем является поле IDcustomer, однозначно определяющее любую запись в таблице. В поле CompanyName хранятся наименования компаний или имя покупателя, в City и Country соответственно страна и город где проживет клиент (таб.1). По полю IDcustomer осуществляется связь с таблицей Orders.

Описание таблиц базы данных - student2.ru

Таблица 1. Customer.

В таблице Employee содержится информация о сотрудниках. Поля, их типы, назначение и ограничения, накладываемые на поля данной таблицы представлены в следующем скрипте:

CREATE TABLE [dbo].[Employee] (

[IDemployee] [int] NOT NULL ,

[EmployeeName] [char] (20) COLLATE Cyrillic_General_CI_AS NULL

) ON [PRIMARY]

GO

Здесь ключевым элементом является IDemployee. В поле EmployeeName, хранятся имя (таб.2). По полю IDemployee осуществляется связь с таблицей Orders.

Описание таблиц базы данных - student2.ru

Таблица 2. Employee.

В таблице Product представлена информация о машинах. Информация о полях, их типов, назначений и ограничений, накладываемых на поля содержится в следующем скрипте:

CREATE TABLE [dbo].[Product] (

[IDproduct] [int] NOT NULL ,

[ProductName] [char] (30) COLLATE Cyrillic_General_CI_AS NULL ,

[ProductCategory] [char] (20) COLLATE Cyrillic_General_CI_AS NULL

) ON [PRIMARY]

GO

Первичным ключем является поле IDproduct. Здесь хранится наименование автомобиля и его категория (таб.3). По полю IDproduct осуществляется связь с таблицей Orders.

Описание таблиц базы данных - student2.ru

Таблица 3. Product.

В таблице Supplier содержится информация о поставщиках. Информация о полях, их типах, назначениях и ограничениях, накладываемых на поля содержится в следующем скрипте:

CREATE TABLE [dbo].[Supplier] (

[IDsupplier] [int] NOT NULL ,

[CompanyName] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,

[Country] [char] (20) COLLATE Cyrillic_General_CI_AS NULL

) ON [PRIMARY]

GO

Связь с таблицей Orders осуществляется по полю IDsupplier. В данной таблице хранится название автосалона, и страна где она находится (таб.4).

Описание таблиц базы данных - student2.ru

Таблица 4. Supplier.

В таблице Time представлена информация дат заказов. Описание данной таблицы приведено ниже.

CREATE TABLE [dbo].[Time] (

[IDtime] [int] NOT NULL ,

[Year] [int] NULL ,

[Month] [int] NULL ,

[Day] [int] NULL

) ON [PRIMARY]

GO

В таблице Time ключевое поле – IDtime (таб.5).

Описание таблиц базы данных - student2.ru

Таблица 5. Time.

В таблице Orders содержится информация о заказах, цена и количество закупаемых машин (таб.6). Информация о полях, их типах, назначениях и ограничениях, накладываемых на поля содержится в следующем скрипте:

CREATE TABLE [dbo].[Orders] (

[IDproduct] [int] NOT NULL ,

[IDcustomer] [int] NOT NULL ,

[IDemployee] [int] NULL ,

[IDtime] [int] NULL ,

[IDsupplier] [int] NULL ,

[Price] [money] NULL ,

[Quantity] [int] NULL

) ON [PRIMARY]

GO

Описание таблиц базы данных - student2.ru

Таблица 6. Orders.

Связи таблиц представлены на рисунке 1.

Описание таблиц базы данных - student2.ru

Рисунок 1. Диаграмма связей.

Триггеры

Термин триггер в контексте реляционных баз данных был введен в обиход участниками проекта System R (лекции 12, 15). В терминологии этого проекта триггером называлась хранимая в базе данных процедура, автоматически вызываемая СУБД при возникновении соответствующих условий.При определении триггера указывались два условия его применимости – общее условие (имя отношения и тип операции манипулирования данными) и конкретное условие (логическое выражение, построенное по правилам, близким к правилам ограничений целостности), а также действие, которое должно быть выполнено над БД при наличии условий применимости.

Конечно, термин триггер в данном контексте является жаргонным. Но, с другой стороны, он достаточно точно соответствует ситуации: для применения процедуры должны быть произведены «возбуждающие» ее действия. Как отмечалось в лекции 15, после завершения проекта System R на протяжении более десяти лет триггеры не поддерживались ни в одной коммерческой SQL-ориентированной СУБД. Но затем практически во всех ведущих СУБД механизм триггеров в том или ином виде был реализован.

В стандарте же языка SQL спецификации триггеров отсутствовали до принятия стандарта SQL:1999. По словам главного редактора стандартов SQL/92 и SQL:1999 Джима Мелтона, эта спецификация была уже полностью готова к моменту принятия SQL/92 и не вошла в текст стандарта только по причине ограниченности его объема. Однако, как мне кажется, этому препятствовали и расхождения в подходах, существовавшие между основными компаниями-производителями СУБД.

Заметим, что альтернативным термином по отношению к базам данных, содержащим триггерные процедуры, является термин активная база данных. Наверное, этот термин более точен, поскольку действительно речь идет о базах данных, содержащих процедуры, которые автоматически вызываются при срабатывании связанных с ними правил. Однако в обиходе пользователей SQL-ориентированных СУБД по-прежнему более распространен термин триггер.

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

create trigger trigger1

on Employee

instead of delete

as

declare @IDemplo int

select @IDemplo=IDemployee from deleted

delete from Orders where IDemployee=@IDemplo

delete from Employee where IDemployee=@IDemplo

Заключение

В деловой или личной сфере часто приходится работать с данными из разных источников, каждый из которых связан с определённым видом деятельности. Для координации всех этих данных необходимы определённые знания и организационные навыки.

Создаваемые формы, запросы и отчёты позволяют быстро и эффективно обновлять данные, получать ответы на вопросы, осуществлять поиск нужных данных, анализировать данные, печатать отчёты, диаграммы.

В курсовой работе было рассмотрено проектирование и разработка базы данных "Автосалон", которая позволяет хранить основную информацию о продажах.

Список используемой литературы

1. Карпова Т.С. Базы данных. Модели, разработка, реализация/СПб.: Питер, 2002. - 304 с.

2. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. Учебник для ВУЗов /под ред. проф.А.Д.Хомоненко // СПб.:КОРОНАпринт, 2000.- 416 с.

3. Корнеев В.В. и др. Базы данных. Интеллектуальная обработка информации // М.:Нолидж, 2000.- 352 с.

4. Бартеньев О.В. Microsoft Visual FoxPro:Учебно-справочное пособие/ М.:Диалог МИФИ, 2005-672 с.

5. Каратыгин С.А.,Тихонов А.Ф., Тихонова Л.Н. Visual FoxPro 6.0//М.: Бином, 1999-784С.

6. Ханcен Г., Ханcен Д. Базы данных. Разработка и управление/М.: Бином, 1999-704С.

7. Глушаков С.В., Ломотько Д.В. Базы данных. Учебный курс // Харьков: Фолио; Ростов н/Д : Феникс; Киев : Абрис, 2000. - 504 с.

8. Игорева, Е.Л., Основы алгоритмизации и программирования (3-е издание)./ И.И. Попов, О.Л. Игорева - М. : Инфа-М, 2006 - 432 с.

9. Петгольц, Ч. Программирование для Microsoft Windows на C#. В 3-х томах. Том 2. Пер. с англ./ Ч. Петгольц - М. : Издательско-торговый дом «Русская редакция», 2002. - 576 с.

10. Петгольц, Ч. Программирование для Microsoft Windows на C#. В 3-х томах. Том 3 Пер. с англ./ Ч. Петгольц - М. : Издательско-торговый дом «Русская редакция», 2002. - 624 с.

Наши рекомендации