Тема 5. Средства поддержания интерфейса с различными категориями пользователей Лекция 10. Основы языка SQL Базы данных.

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



Advertisements
Похожие презентации
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Advertisements

1 Введение в язык баз данных Transact-SQL. Лекция 2. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Лекция 15 Лекция 15 Управление реляционными базами данных. Языки определения данных и языки манипулирования данными. Способы выражения запросов: процедурный.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
SQL SQL (Structured Query Language Структурированный язык запросов) язык управления базами данных для реляционных баз данных.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
Язык SQL SQL (Structured Query Language) Структурированный Язык Запросов.
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
SQL Structured Query Language. Язык SQL Structured Query Language – стандартный язык управления реляционными базами данных с архитектурой клиент-сервер.
SQL Structured Query Language. Язык SQL Structured Query Language – стандартный язык управления реляционными базами данных с архитектурой клиент-сервер.
Основы языка Pasсal.
Обеспечение целостности данных Процедурное. Хранимые процедуры Хранимые процедуры пишутся на специальном встроенном языке программирования, они могут.
Базы данных Лекция 06 Основы SQL. 1. Связи между таблицами БД Разновидности связи между таблицами БД: Один–ко–многим – одной записи родительской таблицы.
КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ (САПР) УПРАВЛЕНИЕ БАЗАМИ ДАННЫХ.
ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Язык программирования Pascal Выполнила: ученица 10А класса Елизавета Тельнова Г. Королев 2012 год.
Транксрипт:

Тема 5. Средства поддержания интерфейса с различными категориями пользователей Лекция 10. Основы языка SQL Базы данных

План лекции 1.История возникновения и развития языка SQL. Стандарты и расширения 2.Структура языка SQL 3.Структура команд SQL 4.Основные типы данных SQL 5.Основные компоненты базы данных

Вопрос 1 История возникновения и развития языка SQL. Стандарты и расширения

Название SQL (Structured Query Language) – стандартный язык запросов для работы с реляционными базами данных Прототипом SQL является язык SEQUEL (Structured English Query Language), разработанный компанией IBM в середине 70-х в рамках проекта System R

Стандартизация (1/2) SQL/89 – первый стандарт. Поддерживается чистая реляционная модель. Из-за столкновения интересов производителей оставлен незавершенным, многие аспекты отнесены к разряду "определяемых при реализации" SQL/92 – устранены основные недостатки SQL/89. Существенно более полный и точный. Изменения в основном количественные (размер порядка 600 стр., в 6 раз длиннее предшественника)

Стандартизация (2/2) SQL/99 – качественные изменения. Добавлены объектные возможности, введены спецификации событий и триггеров SQL/2003 – качественные изменения. Более тесная интеграция с Java, интеграция SQL и XML SQL/2008 – функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery

Диалекты Производители, как правило, поддерживают собственные диалекты SQL ("надмножество подмножества стандарта SQL") Среди известных процедурных расширений можно упомянуть PL/SQL(Oracle), Transact- SQL(Microsoft SQL Server), ESQL/C (Informix, PostgreSQL)

Вопрос 2 Структура языка SQL

Основные подмножества SQL (1/2) АббревиатураОписаниеДействияОсновные команды DDL(Data Definition Language) язык определения данных Создание, изменение и удаление объектов БД CREATE, ALTER, DROP DML(Data Manipulation Language) язык манипулирования данными Вставка, изменение и удаление строк таблицы INSERT, UPDATE, DELETE DQL(Data Query Language) язык запросов Выборка строк таблицы SELECT

Основные подмножества SQL (2/2) АббревиатураОписаниеДействияОсновные команды DCL(Data Control Language) язык управления данными Управление доступом GRANT, REVOKE TPL(Transaction Processing Language) язык обработки транзакций Фиксация или откат транзакции, сохранение промежуточной точки COMMIT, ROLLBACK, SAVEPOINT CCL(Cursor Control Language) язык управления курсорами Выборка данных при помощи курсора, его открытие и закрытие OPEN, CLOSE, FETCH

Вопрос 3 Структура команд SQL

Анатомия команд Команда SQL всегда начинается с действия – слова или группы слов, описывающих выполняемую операцию Кроме того, команда обычно содержит одну или несколько секций (разделов), уточняющих ее смысл

Примеры команд SELECT Name FROM Student INSERT INTO Student VALUES (1, Иванов, 7333) DELETE FROM Student

Отличие от процедурных языков В отличие от команд обычных языков программирования, команды SQL указывают СУБД какие данные необходимо найти, но не сообщают, как это должно происходить Хорошо написанный запрос SQL читается почти также легко, как и обычное предложение (на английском языке)

Типы лексем Ключевое слово (зарезервированные слова: названия команд, функций и т.п.) Идентификатор (имена таблиц, столбцов и др. объектов БД) Константа (данные, интерпретируемые буквально) Специальный символ (скобки и т.п.)

Символы-разделители Пробел Символ табуляции Разрыв строки Из последнего следует, что команда не обязательно должна располагаться на одной строке

Комментарии Однострочные комментарии начинаются с двух дефисов -- Многострочные – начинаются с последовательности /* и завершаются последовательностью */

Идентификаторы Идентификаторы могут начинаться с любой буквы английского алфавита или с символа подчеркивания, далее следует любое сочетание букв, цифр и символов подчеркивания Регистр ввода незащищенных идентификаторов не играет роли – в соответствии со стандартом SQL/92 при выполнении команды они должны преобразовываться к верхнему регистру

Ограничения Идентификаторы не могут содержать символов-разделителей Идентификаторы не могут начинаться с цифры Идентификаторы не должны совпадать с ключевыми словами

Примеры Правильные: Group7333 g7334 group_7334 Неправильные: 7333 Table Группа 7334

Защищенные идентификаторы Идентификаторы, заключенные в двойные кавычки, называют защищенные идентификаторами. Например: "Группа 7334" Использование защищенных идентификаторов позволяет преодолеть рассмотренные ограничения Защищенные идентификаторы интерпретируются буквально – т.е. являются регистрозависимыми

Числовые константы Числовые константы (целочисленные и вещественные) задаются в SQL так же, как и большинстве обычных языков программирования: 12 –

Строковые константы Строковые константы представляют собой произвольную совокупность символов, заключенную апострофы (в одинарные кавычки) Если в самой константе встречается апостроф, при ее определении следует его удвоить В MS SQL Server при задании строковых констант допустимо использование двойных кавычек Если строковая константа представлена в кодировке Unicode, то ей должна предшествовать буква N

Примеры 'SQL/92' 'O''Reilly' N'Иванов' "SQL Server"

Вопрос 4 Основные типы данных SQL

Числовые типы точные целочисленные tinyint1-байтовое целое без знакаMS SQL smallint2-байтовое целое со знакомSQL/89 integer, int4-байтовое целое со знакомSQL/92 bigint8-байтовое целое со знакомMS SQL точные вещественные numeric(p,s), decimal(p,s) Число из p цифр, содержащее s цифр в дробной части SQL/99 вещественные с плавающей точкой real4-байтовоеSQL/89 double precision, float 8-байтовоеSQL/89

Символьные (однобайтовые) character(n), char(n)Строка однобайтовых символов фиксированной длины n SQL/89 character varying(n), varchar(n) Строка однобайтовых символов переменной длины максимальным размером n SQL/92 textСтрока однобайтовых символов до 2 Гб (данные хранятся на отдельных страницах по 8 Кб) MS SQL

Символьные (Unicode) national character(n), national char(n), nchar(n) Строка Unicode символов фиксированной длины n SQL/92 national character varying(n), national char varying(n), nvarchar(n) Строка Unicode символов переменной длины максимальным размером n SQL/92 ntextСтрока Unicode символов до 2 Гб (данные хранятся на отдельных страницах по 8 Кб) MS SQL

Двоичные типы данных binary(n)Блок двоичных данных фиксированной длины n от 1 до 8000 байт MS SQL varbinary(n)Блок двоичных данных переменной длины максимальным размером n от 1 до 8000 байт MS SQL imageБлок двоичных данных до 2 Гб (данные хранятся на отдельных страницах по 8 Кб) MS SQL

Дата и время dateкалендарная дата (день, месяц и год) SQL/92 timeВремя в течение сутокSQL/92 timestampДата и времяSQL/92 datetimeДата и время с 1 янв г. по 31 дек г. точность 3.33 мс 8 байт MS SQL smalldatetimeДата и время с 1 янв г. до 6 июня 2079 г. точность 1 мин. 4 байта MS SQL

Вопрос 5 Основные компоненты базы данных

Данные Таблица (TABLE) является базовой структурой реляционной модели Индекс (INDEX) это объект базы данных, создаваемый для повышения производительности выборки данных Представление (VIEW) это поименованная, динамически поддерживаемая сервером выборка из одной или нескольких таблиц

Действия Процедура (PROCEDURE) это поименованный, структурированный набор переменных, операторов SQL и языка процедурных расширений, предназначенный для решения конкретной задачи Триггер (TRIGGER) это хранимая процедура, которая запускается (автоматически выполняется) тогда, когда происходит связанное с триггером событие. Обычно события связаны с выполнением операторов INSERT, UPDATE или DELETE в некоторой таблице

Доступ Пользователь (USER) объект, обладающий возможностью создавать и использовать другие объекты, а также запрашивать выполнение функций сервера Роль (ROLE) именованная совокупность привилегий, которые могут быть предоставлены пользователям или другим ролям

Литература 1.Мамаев Е.В. Microsoft SQL Server СПб.:БХВ-Петербург, Тихомиров Ю. В. Microsoft SQL Server 7.0 М.:БХВ, 1999