Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БАЗЫ_ДАННЫХ.doc
Скачиваний:
3
Добавлен:
12.07.2019
Размер:
466.94 Кб
Скачать

If db_id (n'Поставщики и детали') is not null

DROP DATABASE [Поставщики и детали]

GO

CREATE DATABASE [Поставщики и детали]

GO

USE [Поставщики и детали]

CREATE TABLE S

(

Sno INT IDENTITY(1,1) NOT NULL,

Sname VARCHAR(20) NOT NULL,

Status INT,

City VARCHAR(15)

)

CREATE TABLE P

(

Pno INT IDENTITY(1,1) NOT NULL,

Pname VARCHAR(20) NOT NULL,

Color CHAR(10),

Weight REAL,

City VARCHAR(15)

)

CREATE TABLE SP

(

Sno INT NOT NULL,

Pno INT NOT NULL,

Qty INT

)

ALTER TABLE S

ADD

CONSTRAINT PK_S PRIMARY KEY (Sno),

CONSTRAINT UK_S UNIQUE (Sname)

ALTER TABLE P

ADD

CONSTRAINT PK_P PRIMARY KEY (Pno)

ALTER TABLE SP

ADD

CONSTRAINT PK_SP PRIMARY KEY (Sno, Pno),

CONSTRAINT FK_SP_S FOREIGN KEY (Sno) REFERENCES S (Sno),

CONSTRAINT FK_SP_P FOREIGN KEY (Pno) REFERENCES P (Pno)

К приведенному сценарию можно дать следующие комментарии.

  1. Сценарий написан на диалекте SQL компании Microsoft (для Microsoft SQL Server), известном под названием Transact-SQL (T-SQL).

  2. Сценарии состоит из трех пакетов. Конец пакета отмечается командой GO.

  3. Специальная команда USE меняет контекст на указанную базу данных.

  4. Если идентификационный номер базы данных «Поставщики и детали» не NULL, то такая база данных уже существует и ее надо предварительно уничтожить. Для этой цели в начале сценария используется оператор IF.

  5. Свойство IDENTITY используется для получения автоматически увеличивающегося идентификационного номера поставщика и детали.

  6. Операторы CREATE TABLE и ALTER TABLE, включат в себя такие ограничения целостности, как ограничение целостности NULL, ограничение первичного ключа (PRIMARY КЕУ), ограничение уникальности (UNIQUE), ограничение внешнего ключа (FOREIGN КЕУ).

  7. Сценарий можно расширить, добавив значения по умолчанию (DEFUULT), ограничения общего вида (CHECK) и команды импорта файла данных в таблицы базы данных (BULK INSERT).

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

[ WITH общее_табличное_выражение]

SELECT [ DISTINCT | ALL ] [ TOP выражение [ PERCENT ] ] { * | список_выбора } [ INTO новая_таблица ]

[ FROM список_табличных_источников ]

[ WHERE условие_поиска ]

[ GROUP BY group_by_выражение ]

[ HAVING условие_поиска ]

[ ORDER BY order_by_выражение [ ASC | DESC ] ]

Предложения, составляющие оператор SELECT, имеют следующий смысл: