Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.

Презентация:



Advertisements
Похожие презентации
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Advertisements

Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
SQL. Создание базы данных CREATE DATABASE ALTER DATABASE DROP DATABASE.
Три способа организации доступа к базе данных через: 1.Запуск PostgreSQL интерактивной терминальной программы, называемые PSQL, который позволяет интерактивно.
Язык SQL Типы данных SQL Типы данных, используемые в стандартном SQL, можно подразделить на следующие группы: строковые типы; числовые типы; типы для представления.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Работу выполнила Студентка 477 гр. Гришина О.В.. Как бы тщательно не планировалась структура таблицы, иногда возникает необходимость внести в неё некоторые.
Создание Web страниц Урок 12: PHP & MySQL Павел Бочаров.
Реляционная модель данных Разработана Е.Ф.Коддом (E.F.Codd) в 1970 г.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
СУБД MySQL - клиент-серверная СУБД Числовые(целые,действительные) Существует несколько разных типов целых чисел, различающихся количеством байтов данных,
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
1 TRANSACT-SQL. Лекция 3. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
Лекция 10. Запросы определения данных (DDL). Свойства столбцов и таблиц. На основе запроса выборки можно построить представление. В SQL представление является.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
Data Definition Language (DDL)– язык определения данных Бази даних та інформаційні системи Лекція 13.
CREATE TABLE Ident_table ( ID int IDENTITY(1, 1), some_values varchar(50)); IDENTITY [ ( seed, increment ) ]
Создание таблицы CREATE TABLE имя_таблицы (имя_столбца тип_данных [NULL | NOT NULL ] [,...n])
Транксрипт:

Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL

Инструкции SQL Инструкция SQL команда предложения обязательные CREATE (создать), INSERT (добавить), SELECT (выбрать), DELETE (удалить) WHERE (где), FROM (откуда), INTO (куда) + = необязательные

Имена в SQL... Объект ОбъектИмя

Типы данных Целые числа- INT, SMALLINT Десятичные числа- NUMERIC, DECIMAL Числа с плавающей запятой- REAL, FLOAT Строки символов постоянной длины- CHAR Строки символов переменной длины - VARCHAR Денежные величины- MONEY, SMALLMONEY Дата и время- DATETIME, SMALLDATETIME Булевы величины - BIT Длинный текст- TEXT Неструктурированные потоки байтов- BINARY, VARBINARY, IMAGE

Встроенные функции ISNUMERIC(выражение)Определяет, имеет ли выражение числовой тип данных SIGN(число)Определяет знак числа RAND(целое число)Вычисляет случайное число с плавающей запятой в интервале от 0 до 1 ROUND(число, точность)Выполняет округление числа с указанной точностью POWER(число, степень)Возводит число в степень SQRT(число)Извлекает квадратный корень из числа LEN(строка)Вычисляет длину строки в символах LTRIM(строка)Удаляет пробелы в начале строки RTRIM(строка)Удаляет пробелы в конце строки LEFT(строка, количество)Возвращает указанное количество символов строки, начиная с самого левого символа RIGHT(строка,количество)Возвращает указанное количество символов строки, начиная с самого правого символа GETDATE()Возвращает текущее системное время ISDATE(строка)Проверяет строку на соответствие одному из форматов даты и времени DATEADD(тип, число,дата) Прибавляет к дате указанное число единиц заданного типа (год, месяц, день, час и т.п.) CAST(выражение AS тип)Преобразование типов

Ограничения целостности: первичный ключ таблицы ID_ДисциплинаINTEGER NOT NULL PRIMARY KEY PRIMARY KEY (ID_Дисциплина, ID_Студент)

Ограничения целостности: внешний ключ таблицы FOREIGN KEY ( ) REFERENCES [[ ] [ON DELETE {NO ACTION | CASCADE | SET DEFAULT | SET NULL}] [ON UPDATE {NO ACTION | CASCADE | SET DEFAULT| SET NULL}] ALTER TABLE Сводная_ведомость ADD FOREIGN KEY (ID_План) REFERENCES Учебный_план ALTER TABLE Сводная_ведомость ADD FOREIGN KEY (ID_Студент) REFERENCES Студенты

Ограничения целостности: определение уникального столбца На уровне столбца: CREATE TABLE Дисциплины (ID_ДисциплинаINTEGER NOT NULL PRIMARY KEY, НаименованиеVARCHAR(20) NOT NULL UNIQUE) На уровне таблицы: CREATE TABLE Дисциплины (ID_ДисциплинаINTEGER NOT NULL, НаименованиеVARCHAR(20) NOT NULL, PRIMARY KEY (ID_Дисциплина), UNIQUE(Наименование))

Ограничения целостности: определение проверочных ограничений На уровне столбца: СеместрINTEGER NOT NULL CHECK ((Семестр >= 1) OR (Семестр = 1) OR (Семестр

Ограничения целостности: определение значения по умолчанию Год_поступления INTEGER DEFAULT YEAR(GETDATE()) Функция GETDATE()- задает текущую дату Функция YEAR() - выделяет из даты компонент, определяющий год

Операции реляционной алгебры в SQL объединение UNION UNION [ALL] [CORRESPONDING [BY {Имя_столбца[,...]}]} пересечение INTERSECT INTERSECT [ALL] [CORRESPONDING [BY {Имя_столбца[,...]}]} разность EXCEPT EXCEPT [ALL] [CORRESPONDING [BY {Имя_столбца[,...]}]} произведение,...,n FROM { } [,...,n] ::= соединение FROM { } [,...,n] ::= INNERLEFTRIGHTFULLOUTERJOIN [INNER | {{LEFT | RIGHT | FULL }[OUTER] } ] JOIN проекция SELECT DISTINCT SELECT DISTINCT выборка WHERE WHERE