Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL бабушка паскаль.docx
Скачиваний:
4
Добавлен:
01.06.2015
Размер:
65.53 Кб
Скачать

Физическое проектирование и физическая модель.

Стадия физического проектирования базы данны в общих случаях. Выбор сспособа организации базы данных. Разработка спецификации, внутренней схемы, средствами модели данных её внутреннего уровня;

- описание отображения концептуальной схемы во внутреннюю

Лекция 2. Бочкарёва 29/11/2012

Модели данных посмотреть у Кренке и у Карповой.

Sql1 – 89 года

Sql2 – 92 года

Структура SQL

Операторы управления транзакцией

Оператор

Смысл

действие

commit

Завершить транзакцию

Завершить взаимосвязанную обработку информации, объединённую в транзакцию

rollback

Откатить транзакцию

Отменить изменения, проведённые в ходе транзакции

savepoint

Сохранить промежуточную точку выполнения транзакции

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

Типы данных

В стандарте языка sql/89 поддерживаются следующие тип данных

  1. CHARACTER(w) и CHAR – символьные строки фиксированной длины

  2. NUMERIK[(n,m)] – точные числа. N – общее количество цифр в числе, m – количество цифр справа от десятичной точки

  3. DECINAL[(n,m)] – точные числа

  4. SMALLINT – целые числа меньшего диапазона

  5. FLOAT – числа большой точности, хранимые в их формате с плавающей точкой, n – число байт, резервируемое под хранение одного числа

  6. REAL – вещественный тип чисел, который соответствует числам с плавающей точкой, но меньшей точности чем FLOAT

  7. DOUBLE PRESICION – задаёт тип данных с точностью больше чем real

В sql/92 добавлен следующие типы

  1. VARCHAR – строки символов переменной длины

  2. NCHAR – строка локализованных символов постоянной длины

  3. NCHAR VARYING – строки локализованных символов переменной длины

  4. DATE – календарная дата

  5. TIME STAMP (точность)– дата и время

  6. INTERVAL – временной интервал

Оператор выбора SELECT

Синтаксис оператора SELECT:

Select[all|DISTINCT](список полей>|*)

FROM <список таблиц>

[WHERE <предикат- условия выборки или соединения>]

[GROUP BY <список полей результатов>]

[HAVING <предикат – условия для группы>]

[ORDER BY < список полей, по…..>]

ALL – означает что в результирующий набор строк включаются все строки, удовлетворяющие условиям выборки. Значит в результирующий набор могу попасть и одинаковые строки(записи). Чтобы этого не случилось следует использовать, - тогда в результирующий набор не попадут дублирующие записи и дублирующие строки

(список полей>|*) - * - означает что в результирующий набор включаются все столбцы исходных таблиц запроса

FROM – в данном раздеое указывается список исходных таблиц запроса

WHERE – в данном разделе хадаются условия отбора, результат и условий\или условия соединения кортежей(для таблицы – строки) исходных таблиц

В разделе GRUP BY – задаются список полей группировки

В разделе HAVING задаются предикаты – условия, предявляемые к каждой группе

В разделе ORER BY – задаётся группировка по умолчанию

В разделе WHERE

Создаём приложение mysql/c++ delphy

Минимум 10 запросов, просмотр при условии, поиск, добавление, удаление, минимум три таблицы (врем, график, машины) коридор трафик, прайс, ночное время, вечернее) делать nfc/clr

  1. Зиборов MSVS2010

  2. Пахомов C++

  3. Ивор Хортон

  1. Типы обслуживаемых машин, самолётов, тарифы, рейсы, прайс-лист, куда.

В выражениях условий раздела where могут быть сипользованы следующие предикаты:

  1. Предикаты сравнения(операторы сравнения) =,<,>,<=,>=, <>

  2. Предикат BETWEEN A and B – принимает значения между а и b

  3. Предикат включения во множество IN(множество) - когда указываемое значение входит в указываемое множество

  4. Предикаты сравнения с образцом LIKE(NOTLIKE)предикат дайк требует задания шаблона, с которым сравнивается заданное значение. Этот преикат истинен, если сравниваемые значения совпадаю\соответстсуют шаблону и ложен в противном случае

Having у Карповой или Кренке

SELECT*

FROM студенты, преподаватели

Пример

Вывести список студентов которые сдали экзамен по дисциплине «БД» на оценку «хорошо»

Select студенты. Фио, Студенты. Дисциплина, студенты. Оценка

From студенты

Where дисциплина = “БД” and оценка=4

Create table student(

Fio char(20) NOT NULL,

Id_stud INTEGER PRIMARY KEY,

Fio varchar(100) NOT NULL,

Subject varchar(80) NOT NULL,

Ball integer

);

Insert into student(id_stud, fio, subject,ball)

Values(1, ‘Ivanov’, ‘db’, 4);

Модификация таблиц

Пример.

ALTER Table student

Add column address char(120);

Пример.

Alter table student

Drop column address;

Как перенаправить назначение таблицы

Пример проектирования РБД

Построение реляционной схемы на этапе даталогического проектирования ER-диаграмма преобразуется в реляционную схему

Например

Студенты

Фамилия

Отчество

Номер группы

Телефон

Адрес

Id студента

Сводная ведомость

Оценка

Дата сдачи

Id студента

Id план

Учебный план

Наименование

Семестр

Количесво часов

Форма отчётности

Id_преподавателя

Id план

Кадровый состав

Id преподавателя

Фамилия

Имя

Отчество

Кафедра

Должность

Адрес

телефон

RBD была предложена Коддом, а после работ Дейта РБД получила массовое распространение.

Ключи и связи

Так как строки в таблице не упорядочены, нам нужен столбец(или набор столбцов) для уникальной идентификации каждой строки(записи), такой столбец или набор столбцов, называется первичным ключом(PRIMARY KEY); первичный ключ любой таблицы обязан содержать уникальные значения для каждой строки. Обычно используется счётчик (counter).

Если первичный ключ состоит более чем из одного столбца, то такой ключ называется составным ключом (composite…)

Толбец указывающий на запись(строку) в другой таблице называется внешним ключом (foreign key), иными словами внешний ключ – это столбец или набор столбцов значения которого совпадают с имеющимися значениями первичного ключа другой таблицы.

Подобное взаимоотношение между таблицами называется связью(relationship), один к одному, один ко многим, многие ко многим.

Группа связанных между собой таблиц называется схемой базы данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]