Справочник от Автор24
Поделись лекцией за скидку на Автор24

SQL — структурированный язык запросов. Операторы определения данных DDL

  • 👀 296 просмотров
  • 📌 247 загрузок
Выбери формат для чтения
Загружаем конспект в формате ppt
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «SQL — структурированный язык запросов. Операторы определения данных DDL» ppt
SQL - структурированный язык запросов DDL — Data Definition Language – язык описания данных Операторы определения данных DDL Оператор Смысл Действие CREATE TABLE Создать таблицу Создаст новую таблицу в БД DROP TABLE Удалить таблицу Удаляет таблицу из БД ALTER TABLE Изменить таблицу Изменяет структуру существующей таблицы или ограничения целостности, задаваемые для данной таблицы CREATE VIEW Создать представление Создает виртуальную таблицу, соответствующую некоторому SQL-запросу ALTER VIEW Изменить представление Изменяет ранее созданное представление DROP VIEW Удалить представление Удаляет ранее созданное представление CREATE INDEX Создать индекс Создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, входящим в индекс DROP INDEX Удалить индекс Удаляет ранее созданный индекс DDL — Data Definition Language – язык описания данных Операторы манипулирования данными Data Manipulation Language (DMP) Оператор Смысл Действие DELETE Удалить строки Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы. Применение оператора согласуется с принципами поддержки целостности, поэтому этот оператор не всегда может быть выполнен корректно, даже если синтаксически он записан правильно INSERT Вставить строку Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу UPDATE Обновить строку Обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации DQL - Data Query Language - язык запросов Оператор Смысл Действие SELECT Выбрать строки Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу Средства администрирования данных Средства управления транзакциями и др. Создание таблиц базы данны х • CREATE TABLE • INSERT –ввод значений Типы данны х: (ANSI) CHARASTER (CHAR) – тип представления текста. Этот тип обозначается ключевы ми словами VARCHAR (),CHARASTER VARYNG или CHAR VARYNG (). INTEGER – для представления целы х чисел в диапазоне от -231 до +231. DECIMAL (точность [, масштаб]) – десятичное число с фиксированной точкой, точность определяет кол-во значащих цифр в числе. NUMERIC (точность [, масштаб]) – десятичное число с фиксированной точкой. FLOAT [(точность)]- число с плавающей точкой с указанием минимальной точности. DATE – для хранения даты и времени/ Др. CREATE TABLE < имя_таблицы > (<имя столбца><тип данных>[(<размер>)]); Пример: CREATE TABLE STUDENT1 (STUDENT_ID INTEGER, SURNAME VARCHAR(60), NAME VARCHAR(60), STIPEND INTEGER, KURS INTEGER, CITY VARCHAR(60), BIRTHDAY DATE, UNIV_ID INTEGER); !!! Для CHAR обязательно должен быть указан размер Изменение существую щей таблицы ALTER TABLE Добавление таблицы ALTER TABLE <имя таблицы> ADD (<имя столбца> <тип данных>[<размер>]); Изменение таблицы (размеры столбцов, добавление или удаление ограничений): ALTER TABLE <имя_таблицы> MODIFY(<имя столбца> <тип данных> [размер/точность>]); Ограничения: изменение типа данных возможно только в том случае, если столбец пуст; для незаполненного столбца можно изменять размер/точность. Для заполненного столбца размер/точность можно увеличить, но нельзя понизить; ограничение NOT NULL может быть установлено, если ни одно значение в столбце не содержит NULL. Опцию NOT NULL всегда можно отменить; разрешается изменять значения, установленные по умолчанию. Удаление таблицы Перед удалением таблицы необходимо удалить все строки таблицы DROP TABLE <имя таблицы >; Ограничения (constraints) на множество допустимы х значений данны х • • Ограничения на столбцы (COLUMN CONSTRAINTS) Ограничения на таблицу (TABLE CONSTRAINTS) CREATE TABLE <имя_таблицы> (<имя столбца > <тип данных>< Ограничения на столбец>, <имя столбца> <тип данных> <Ограничения на столбец>, <ограничения на таблицу> (<имя столбца>[,<имя столбца>])); Ограничение NOT NULL NULL — это специальный маркер, обозначающий что поле пусто. Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER NOT NULL, SURNAME CHAR (25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER, KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER); если для столбца указано NOT NULL, тo при использовании команды INSERT обязательно должно быть указано конкретное значение, вводимое в это поле (DEFAULT) Первичные ключи в принципе не должны содержать NULL-значений Уникальность как ограничение на столбец UNIQUE Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER NOT NULL UNIQUE, SURNAMECHAR (25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER, KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER); Уникальность как ограничение таблицы UNIQUE Пример: 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)); Присвоение имен ограничениям Пример: CREATE TABLE EXAM_MARKS (EXAM_ID INTEGER NOT NULL, STUDENT_ID INTEGER NOT NULL, SUBJID INTEGER NOT NULL, MARK CHAR (1), EXAM_DATE DATE NOT NULL, CONSTRAINT STUD__SUBJ_CONSTR UNIQUE (STUDENT_ID, EXAM_DATE)); Ограничение первичны х клю чей PRIMARY KEY Первичные ключи таблицы — это специальные случаи комбинирования ограничений UNIQUE и NOT NULL. Первичные ключи имеют следующие особенности: • таблица может содержать только один первичный ключ; • внешние ключи по умолчанию ссылаются на первичный ключ таблицы; • первичный ключ является идентификатором строк таблицы (строки, однако, могут идентифицироваться и другими способами). Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR (25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER, KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER); Составны е первичны е ключи Пример: CREATE TABLE NEW_EXAM_MARKS (EXAM_ID INTEGER NOT NULL STUDENT_ID INTEGER NOT NULL, SUBJ_ID INTEGER NOT NULL, MARK INTEGER, DATA DATE, CONSTRAINT EX_PR_KEY PRIMARY KEY (EXAM_ID, STUDENT_ID)); конкретный студент на конкретном экзамене не может получить более одной оценки Проверка значений полей CHECK - условие Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR (25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER CHECK (STIPEND < 200), KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER); Проверка ограничиваю щих условий с использованием составны х полей Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR(25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER, KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER UNIQUE, CHECK (STIPEND < 200 AND CITY = 'Воронеж')); Или: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR (25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER, KURS INTEGER, CITY CHAR(15), BIRTHDAY DATE, UNIV_ID INTEGER UNIQUE, CONSTRAINT STUD_CHECK CHECK (STIPEND < 200 AND CITY = 'Воронеж')); Установка значений по умолчанию • NULL является наиболее часто используемым значением по умолчанию • DEFAULT DEFAULT <значение по умолчанию >; Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR (25) NOT NULL, NAME CHAR (10) NOT NULL, STIPEND INTEGER CHECK (STIPEND < 200), KURS INTEGER, CITY CHAR (15) DEFAULT 'Воронеж', BIRTHDAY DATE, UNIV_ID INTEGER); Поддержка целостности данны х. Внешний клю ч как ограничение таблицы . FOREIGN KEY <список столбцов> REFERENCES <родительская таблица >[<родительский ключ>]; ALTER TABLE <имя_таблицы > ADD CONSTRAINT <имя_ограничения > FOREIGN KEY (<список столбцов внешнего ключа >) REFERENCES <имя родительской таблицы > [(<список столбцов родительского ключа >)]; FOREIGN KEY Пример 2 ALTER TABLE STUDENT ADD CONSTRAINT STUD_UNIV_FOR_KEY Пример1 CREATE TABLE STUDENT, (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR (25), FOREIGN KEY (UNIV_ID) NAME CHAR (10), REFERENCES UNIVERSITY STIPEND INTEGER, (UNIV_ID); KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER, CONSTRAINT UNIV_FOR_KEY FOREIGN KEY (UNIV_ID) REFERENCES UNIVERSITY (UNIV_ID)); Внешний клю ч как ограничение столбца • REFERENCES Пример: CREATE TABLE STUDENT (STUDENT_ID INTEGER PRIMARY KEY, SURNAME CHAR (25), NAME CHAR (10), STIPEND INTEGER, KURS INTEGER, CITY CHAR (15), BIRTHDAY DATE, UNIV_ID INTEGER REFERENCES UNIVERSITY (UNIV_ID)); !!!можно не указывать список столбцов родительского ключа, если эти столбцы объявлены как первичный ключ в таблице, на которую ссылается вн.ключ .
«SQL — структурированный язык запросов. Операторы определения данных DDL» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 70 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot