Лабораторные работы по курсу «Базы данных»



Pdf көрінісі
бет31/46
Дата12.05.2023
өлшемі0,79 Mb.
#92097
түріПрактикум
1   ...   27   28   29   30   31   32   33   34   ...   46
Байланысты:
2-3 лаб

Пример 6.3: 
Создание наследования для таблицы B от таблицы A: 
CREATE TABLE b (b_text text)
INHERITS (a); 
Связь общих полей базовой и производной таблиц не ограничивается 
чисто косметическими удобствами. Данные, занесенные в производную 
таблицу, присутствуют и в родительской таблице. Впрочем, в родительской 
таблице видны только три унаследованных поля. В запрос к базовой таблице 
можно включить ключевое слово ONLY, которое указывает, что данные 
производных таблиц исключаются из результатов запроса. 
Следует хорошо понимать, что данные в действительности не 
заносятся в базовую таблицу, а лишь становятся видимыми в ней 
благодаря отношению наследования. 
Наследование может приводить к видимому нарушению ограничений. 
Например, значение поля, для которого установлено ограничение 
уникальности, может повторяться в данных производных таблиц. 
Применение наследования требует осторожности, поскольку производная 
таблица формально не нарушает ограничений, хотя при выборке из базовой 
таблицы без ключевого слова ONLY может показаться обратное. 


Массивы 
Поля данных PostgreSQL вместо отдельных величин могут содержать 
конструкции, называемые массивами. Массив сам по себе не является 
самостоятельным типом данных, а лишь расширяет любой другой тип 
данных PostgreSQL. 
Чтобы создать простейшее поле-массив, включите в команду CREATE 
TABLE пару квадратных скобок после имени поля. Квадратные скобки 
показывают, что вместо одного значения в поле может храниться массив 
указанного типа. Дополнительные квадратные скобки определяют 
многомерные массивы, то есть «массивы массивов». 
Пример 6.4: 
Создание таблицы с полем-массивом: 
CREATE TABLE favorite_books (employee_id integer,


Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   ...   46




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

    Басты бет