Скачиваний:
95
Добавлен:
02.05.2014
Размер:
446.49 Кб
Скачать

7 Разработка sql-кода базы данных

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

7.1Sql-код создания таблиц

В данном подразделе в соответствии с реляционной моделью записываются SQL-операторы CREATE TABLE, обеспечивающие создание таблиц базы данных. Стандартные ограничения целостности, специфицированные на предыдущем этапе в таблицах 5.1–5.3 и 5.6, реализуются с помощью табличных средств, нестандартные ограничения целостности и операционные правила, специфицированные в таблицах 5.4 и 5.5, — с помощью триггеров базы данных. Для удобства контроля создание ограничений отделено от создания столбцов выполняется операторами ALTER TABLE. Триггеры базы данных создаются операторами CREATE TRIGGER. При программировании ориентировались на диалект Transact-SQL для Microsoft SQL Server 2005.

7.1.1 Создание столбцов таблиц

Для создания столбцов применяются SQL-операторы CREATE TABLE. При этом задаются имена, типы и размеры полей, а также стандартные ограничения обязательности и значения по умолчанию.

CREATE TABLE [dbo].[Тип] (

[Код типа] char(6) NOT NULL,

[Наименование] Varchar(40) NOT NULL,

[Селектор] Varchar(40) NOT NULL)

CREATE TABLE [dbo].[Документы] (

[Рег. номер] char(6) NOT NULL,

[Дата получения] DATETIME NOT NULL)

CREATE TABLE [dbo].[ОИС] (

[Код ОИС] CHAR(6) NOT NULL,

[Наименование ОИС] VARCHAR(40) NOT NULL,

[Код категории] CHAR(6) NOT NULL,

[Код типа] CHAR(6) NOT NULL)

CREATE TABLE [dbo].[Патенты] (

[Рег. номер патента] CHAR(6) NOT NULL,

[Код ОИС] CHAR(6) NOT NULL)

CREATE TABLE [dbo].[Заявки] (

[Рег. номер заявки] CHAR(6) NOT NULL,

[Код ОИС] CHAR (6) NOT NULL)

CREATE TABLE [dbo].[Организация] (

[Код организации] CHAR(6) NOT NULL,

[название организации] VARCHAR (50) NOT NULL)

CREATE TABLE [dbo].[Тип объекта] (

[Код типа] CHAR(6) NOT NULL,

[селектор] char(1) default ('Т'))

CREATE TABLE [dbo].[Категория] (

[Код типа] CHAR(6) NOT NULL,

[селектор] char(1) default('A'))

CREATE TABLE [dbo].[Предметная область] (

[Код типа] CHAR(6) NOT NULL,

[селектор] char(1) default('П'))

CREATE TABLE [dbo].[Категория] (

[Код категории] CHAR(6) NOT NULL,

[Наимменование] VARCHAR(40) NOT NULL)

CREATE TABLE [dbo].[Ответсвенный сотрудник] (

[Код ответсвенного струдника] CHAR(6)NOTNULL,

[ФИО ответсвенного сотрудника] VARCHAR(50)NOTNULL,

[Должность] VARCHAR(40) Not NULL,

[Код организации] CHAR(6) NOT NULL)

CREATE TABLE [dbo].[Лицензии] (

[Рег. номер лицензии] CHAR(6)NOTNULL,

[Код ответсвенного сторудника] CHAR(6)NOTNULL)

CREATE TABLE [dbo].[Автор] (

[Код автора] CHAR(6) NOT NULL,

[ФИО автора] VARCHAR (50) NOT NULL)

CREATE TABLE [dbo].[Должность] (

[Код должности] CHAR(6) NOT NULL,

[Название должности] VARCHAR (50) NOT NULL)

CREATE TABLE [dbo].[Автор патента] (

[Код автора] CHAR(6) NOT NULL,

[Рег. номер патента] VARCHAR (50) NOT NULL,

[Код должности] CHAR(6) NOT NULL,

[Код организации] CHAR(6)NOTNULL)

CREATE TABLE [dbo].[Автор заявки] (

[Код автора заявки] CHAR(6)NOTNULL,

[Рег. номер заявки] CHAR (6) NOT NULL,

[Код организации] VARCHAR(40)NOTNULL

)

CREATETABLE[dbo].[Квитанция об оплате] (

[Нпп] INT NOT NULL,

[Номер квитанции] CHAR (6) NOT NULL,

[Дата] DATETIME NOT NULL,

[Время] DATETIME NOT NULL,

[Место] VARCHAR(40) NOT NULL,

[Кассир] VARCHAR(40) NOT NULL,

[Рег. номер заявки] CHAR(6) NOT NULL)

CREATETABLE[dbo].[Правообладатель лицензии] (

[Код правообладателя лицензии] CHAR(6)NOTNULL,

[ФИО првообладателя лицензии] VARCHAR(50)NOTNULL,

[Рег. номер лицензии] CHAR(6)NOTNULL,

[Код организации] CHAR(6)NOTNULL)

CREATETABLE[dbo].[Правообладатель заявки] (

[Код правообладателя] CHAR(6)NOTNULL,

[ФИО правообладателя] VARCHAR(50)NOTNULL,

[Рег. номер заявки] CHAR(6) NOT NULL)

CREATETABLE[dbo].[Предметная область патента] (

[Код предметной области] char(6)notnull,

[Примечание] varchar(50)notnull,

[Рег. номер патента] char(6)notnull,

[cелектор] char(6) default('П') not null)

Соседние файлы в папке База данных - ВУЗ. Отдел интеллектуальной собственности