Ограничение первичных ключей
Стр 1 из 3Следующая ⇒ Изменение существующей таблицы
Добавление: ALTER TABLE <имя таблицы> ADD (<имя столбца> <тип данных> <размер>); Модификация: ALTER TABLE <имя таблицы> MODIFY <имя столбца> <тип данных> <размер/точность>; Замечание. ü изменение типа данных возможно только в том случае, если столбец пуст; ü для незаполненного столбца можно изменять размер/точность, для заполненного столбца размер/точность можно увеличить, но нельзя понизить; ü ограничение NOT NULL может быть установлено, если ни одно значение в столбце не содержит NULL (опцию NOT NULL всегда можно отменить); ü разрешается изменять значения, установленные по умолчанию.
Удаление таблицы: DROP TABLE <имя таблицы>;
Замечание. Перед удалением таблица должна быть пуста. Задание 1.
Ограничение на множество допустимых значений Ограничение NOT NULL Пример. Создать таблицу СТУДЕНТ, запретив значение NULL- значений для столбцов STUDENT_ID, SURNAME, NAME: CREATE TABLE STUDENT (STUDENT_ID INTEGER NOT NULL, SURNAME VARCHAR(60) NOT NULL, NAME VARCHAR(60) NOT NULL, STIPEND DOUBLE, KURS INTEGER, CITY VARCHAR(60), BIRTHDAY DATE, UNIV_ID INTEGER);
Уникальность как ограничение на столбец Пример. Объявить поле STUDENT_ID уникальным: CREATE TABLE STUDENT (STUDENT_ID INTEGER NOT NULL UNIQUE, SURNAME VARCHAR(60) NOT NULL, NAME VARCHAR(60) NOT NULL, STIPEND DOUBLE, KURS INTEGER, CITY VARCHAR(60), BIRTHDAY DATE, UNIV_ID INTEGER);
Уникальность как ограничение таблицы Пример. Создать таблицу EXAM_MARKS с учетом того, что не допускается, чтобы студент сдавал в один день больше одного экзамена. Для этого объявляется уникальной комбинация значений полей STUDENT_ID и EXAM_DATE.
CREATE TABLE EXAM_MARKS (EXAM_ID INTEGER NOT NULL, STUDENT_ID INTEGER NOT NULL, SUBJ_ID INTEGER NOT NULL, MARK CHAR(1), EXAM_DATE DATE NOT NULL, UNIQUE (STUDENT_ID, EXAM_DATE));
Присвоение имен ограничениям Ограничениям таблиц можно присваивать уникальные имена. Преимущество явного задания имени ограничения состоит в том, ч то в э том случае при выдаче системой сообщения о нарушении установленного ограничения будет указано его имя, что упрощает обнаружение ошибок.
Пример. Присвоить имя STUD_ SUBJ_CONSTR ограничению в предыдущем примере: CREATE TABLE EXAM_MARKS (EXAM_ID INTEGER NOT NULL, STUDENT_ID INTEGER NOT NULL, SUBJ_ID INTEGER NOT NULL, MARK CHAR(1), EXAM_DATE DATE NOT NULL, CONSTRAINT STUD_ SUBJ_CONSTR UNIQUE(STUDENT_ID, EXAM_DATE));
Ограничение первичных ключей Первичные ключи таблицы – это специальные случаи комбинирования ограничений UNIQUE и NOT NULL. Первичные ключи имеют следующие особенности:
Пример. Создать таблицу STUDENT с первичным ключом по полю STUDENT_ID: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME VARCHAR(60) NOT NULL, NAME VARCHAR(60) NOT NULL, STIPEND DOUBLE, KURS INTEGER, CITY VARCHAR(60), BIRTHDAY DATE, UNIV_ID INTEGER);
Читайте также: Вторичные тексты создаются на основе первичных текстов, принадлежащих другому автору. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|