Учебное пособие Санкт-Петербург «бхв-петербург»



Download 1,88 Mb.
Pdf ko'rish
bet31/256
Sana21.02.2022
Hajmi1,88 Mb.
#24505
TuriУчебное пособие
1   ...   27   28   29   30   31   32   33   34   ...   256
Bog'liq
morgunov e p postgresql osnovy yazyka sql

Описание атрибута
Имя атрибута
Тип данных
Тип PostgreSQL
Ограничения
Код самолета, IATA
aircraft_code
Символьный
char( 3 )
NOT NULL
Номер места
seat_no
Символьный
varchar( 4 )
NOT NULL
Класс обслуживания
fare_conditions
Символьный
varchar( 10 )
NOT NULL
Значения из списка:
Economy, Comfort,
Business
Для атрибута «Код самолета, IATA» был выбран тип char(3), поскольку этот атрибут
присутствует и в таблице «Самолеты».
Значения атрибута «Номер места» (seat_no) состоят из числовой части, обозначаю-
щей номер ряда кресел в салоне самолета, и латинской буквы, обозначающей пози-
цию в ряду, начиная с буквы A. Например: 10A, 21D, 17F и т. д. В качестве типа данных
для этого атрибута выберем varchar(4). Этот тип позволяет хранить любые симво-
лы. В скобках указана предельная длина символьной строки, которую можно ввести
в поле такого типа.
Значения атрибута «Класс обслуживания» (fare_conditions) могут выбираться из
ограниченного списка значений. Проверка на соответствие вводимых значений это-
му списку будет обеспечиваться с помощью ограничения CHECK. Также выбираем тип
данных varchar. Все допустимые значения имеют различные длины, но мы ориен-
тируемся на самое длинное значение.
Значения всех атрибутов каждой строки данной таблицы не должны быть неопреде-
ленными, поэтому на них накладывается ограничение NOT NULL.
В качестве первичного ключа выбрана комбинация атрибутов «Код самолета, IATA»
и «Номер места» — это составной ключ. Таким образом, первичный ключ будет есте-
ственным
. Как уже было сказано выше, это означает, что и в реальной предметной
42


Глава 3. Основные операции с таблицами
области существуют такие понятия, как код самолета и номер места, и эти понятия
используются на практике.
В этой таблице используется внешний ключ. Предложение FOREIGN KEY создает
ограничение ссылочной целостности. В качестве внешнего ключа служит атрибут
«Код самолета» (aircraft_code). Он ссылается на одноименный атрибут в табли-
це «Самолеты» (aircrafts). Таблица «Места» называется ссылающейся (referencing),
а таблица «Самолеты» — ссылочной (referenced).
Поскольку номера мест привязаны к модели самолета, то в случае удаления из таб-
лицы «Самолеты» какой-либо строки с конкретным кодом самолета необходимо уда-
лить также и из таблицы «Места» все строки, в которых значение атрибута «Код са-
молета» такое же. Коротко говоря, если в базе данных нет информации о какой-либо
модели самолета, то не может быть и информации о компоновке салона, т. е. о рас-
пределении мест по классам обслуживания для этой модели.
Поэтому в предложении для определения внешнего ключа появляется важное допол-
нение: ON DELETE CASCADE. Это означает, что при удалении какой-либо строки из
таблицы «Самолеты» удаление строк из таблицы «Места», связанных с этой строкой
по внешнему ключу, берет на себя СУБД, избавляя программиста от этой заботы. По-
добные действия, которые выполняет сама СУБД, называются каскадным удалением.
Таким образом, внешний ключ служит для связи таблиц между собой.
Итак, команда для создания нашей второй таблицы «Места» такова:

Download 1,88 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   256




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish