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



Pdf көрінісі
бет79/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   75   76   77   78   79   80   81   82   ...   256
sql osnovi yazika

CREATE TABLE progress
( record_book numeric( 5 ),
...
FOREIGN KEY ( record_book )
REFERENCES students ( record_book )
ON UPDATE CASCADE
);
В случае каскадного обновления измененные значения ссылочных атрибутов
копируются в ссылающиеся строки ссылающейся таблицы, т. е. новое значение
атрибута record_book из строки таблицы «Студенты» будет скопировано во все
строки таблицы «Успеваемость», ссылающиеся на обновленную строку.
После рассмотрения всех видов ограничений целостности, которые можно указать
для базы данных, мы можем привести окончательные определения таблиц «Студен-
ты» и «Успеваемость». Окончательными они являются лишь в том смысле, что имен-
но их нужно брать за основу при выполнении заданий, приведенных в конце главы.
Эти определения ни в коем случае не являются идеальными, эталонными. Выполняя
задания, вы это увидите сами.
Прежде чем создавать таблицы, создайте базу данных edu:
createdb -U postgres edu
Подключитесь к ней:
psql -d edu -U postgres
Создайте обе таблицы:
CREATE TABLE students
( record_book numeric( 5 ) NOT NULL,
name text NOT NULL,
doc_ser numeric( 4 ),
doc_num numeric( 6 ),
PRIMARY KEY ( record_book )
);
104


5.2. Создание и удаление таблиц
CREATE TABLE progress
( record_book numeric( 5 ) NOT NULL,
subject text NOT NULL,
acad_year text NOT NULL,
term numeric( 1 ) NOT NULL CHECK ( term = 1 OR term = 2 ),
mark numeric( 1 ) NOT NULL CHECK ( mark >= 3 AND mark <= 5 )
DEFAULT 5,
FOREIGN KEY ( record_book )
REFERENCES students ( record_book )
ON DELETE CASCADE


Достарыңызбен бөлісу:
1   ...   75   76   77   78   79   80   81   82   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет