Учебно-практическое пособие москва 2017 ббк


INSERT INTO progress ( record_book, subject, acad_year, term )



Pdf көрінісі
бет100/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   96   97   98   99   100   101   102   103   ...   243
Байланысты:
Язык SQL. Базовый курс

INSERT INTO progress ( record_book, subject, acad_year, term )
VALUES ( 12300, 'Физика', '2016/2017',1 );
102


5. В стандарте SQL сказано, что при наличии ограничения уникальности, вклю-
чающего один или более столбцов, все же возможны повторяющиеся значения
этих столбцов в разных строках, но лишь в том случае, если это значения —
NULL. PostgreSQL придерживается такого же подхода.
Модифицируйте определение таблицы «Студенты» (students), добавив ограни-
чение уникальности по двум столбцам: doc_ser и doc_num. А затем проверьте
вышеприведенное утверждение, добавив в таблицу не только строки, содержа-
щие конкретные значения этих двух столбцов, но также и по две строки, имею-
щие следующие свойства:
– одинаковые значения столбца doc_ser и NULL-значения столбца doc_num;
– NULL-значения столбца doc_num и столбца doc_ser.
Подобные вещи возможны, так как NULL-значения не считаются совпадающи-
ми. Это можно проверить с помощью команды
SELECT (null = null);
Она даст такой результат (т. е. NULL):
?column?
----------
(1 строка)
6. Модифицируйте определения таблиц «Студенты» (students) и «Успеваемость»
(progress). В таблице students в качестве первичного ключа назначьте комби-
нацию атрибутов doc_ser и doc_num, а в таблице progress соответствующим об-
разом измените определение внешнего ключа.
CREATE TABLE students
( record_book numeric( 5 ) NOT NULL UNIQUE,
name text NOT NULL,
doc_ser numeric( 4 ),
doc_num numeric( 6 ),
PRIMARY KEY ( doc_ser, doc_num )
);
Обратите внимание, что для атрибутов doc_ser и doc_num можно не указывать
ограничение NOT NULL: они входят в состав первичного ключа, а в нем NULL-
значения не допускаются, поэтому ограничение NOT NULL фактически подра-
зумевается при включении атрибута в состав первичного ключа.


Достарыңызбен бөлісу:
1   ...   96   97   98   99   100   101   102   103   ...   243




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

    Басты бет