Разработка WEB-приложений Автор: доцент, к.т.н. Галямова Елена Валентиновна Курс лекций и практических занятий для студентов ИУ 6-7 х и АК 5-91 2006-2007.

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



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

1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Лекция 10. Запросы определения данных (DDL). Свойства столбцов и таблиц. На основе запроса выборки можно построить представление. В SQL представление является.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
Язык SQL Типы данных SQL Типы данных, используемые в стандартном SQL, можно подразделить на следующие группы: строковые типы; числовые типы; типы для представления.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Реляционная модель данных Разработана Е.Ф.Коддом (E.F.Codd) в 1970 г.
1 TRANSACT-SQL. Лекция 3. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
1. СУБД MySQL 2. Язык обработки данных SQL. Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.
Работу выполнила Студентка 477 гр. Гришина О.В.. Как бы тщательно не планировалась структура таблицы, иногда возникает необходимость внести в неё некоторые.
SQL. Создание базы данных CREATE DATABASE ALTER DATABASE DROP DATABASE.
«ИЗМЕНЕНИЕ ДАННЫХ В БД» Выполнил: студент 722 группы Специальности Информационные системы (по отрослям) Токарев Виктор.
Создание таблиц. А.М. Гудов 2Заключение Имеется несколько способов соединения таблиц: –Эквисоединение –Не-эквисоединение –Внешнее соединение –Соединение.
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
Три способа организации доступа к базе данных через: 1.Запуск PostgreSQL интерактивной терминальной программы, называемые PSQL, который позволяет интерактивно.
Транксрипт:

Разработка WEB-приложений Автор: доцент, к.т.н. Галямова Елена Валентиновна Курс лекций и практических занятий для студентов ИУ6-7 х и АК учебный год

Задачи на эту лекцию: Рассмотреть понятия базы данных БД и СУБД, Кратко описать существующие типы баз данных –сетевые, –реляционные, –иерархические; Рассмотреть основы языка запросов SQL: –операции выбора, добавления, изменения и удаления строки, –операции создания, изменения и удаления таблицы. База данных MySql, как пример реляционной базы данных Использование PhpMyAdmin для взаимодействия с базой данных MySql. Обсуждить основные принципы отображения объектной модели документа на реляционную структуру базы данных. Рассмотреть пример – проектирование базы данных виртуального музея истории кафедры

Базы данных: основные понятия Пример базы данных: телефонная книга ФИОНомер телефона Адрес Иванов Иван Иванович ул. Ленина, 12, 43 Ильин Федор Иванович пр. Маркса, 32, 45 База данных – это совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. База данных является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД). СУБД обеспечивает поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей.

Типы БД Реляционная модель БД - совокупность двумерных таблиц особого вида, известного в математике как отношение. Объектная модель БД - данные представляются в виде набора объектов и классов, связанных между собой родственными отношениями, а работа с объектами осуществляется с помощью скрытых (инкапсулированных) в них методов. Объектно- реляционная модель – объединение двух подходов

Ключи Первичный ключ (primary key, PK) – минимальный набор полей, уникально идентифицирующий запись в таблице. Внешние ключи используются для организации связей между таблицами базы данных (родительскими и дочерними) и для поддержания ограничений ссылочной целостности данных

Ключи

Индексирование PRIMARY – уникальный индекс (ключ) с ограничением, что все индексированные им поля не могут иметь пустого значения (т.е. они NOT NULL), может состоять из нескольких полей. UNIQUE – ключ (индекс), задающий поля, которые могут иметь только уникальные значения. INDEX – обычный индекс (как мы описали выше). В MySqL, кроме того, можно индексировать строковые поля по заданному числу символов от начала строки.

СУБД MySQL в текстовом режиме в графическом режиме

Запуск MySQL сервера (2 режима) Исполняемая программа mysql.exe shell> mysql.exe -u root shell>mysql -u root mysql Сервис mysql.dll shell> mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('new_password') WHERE user='root'; mysql> DELETE FROM user WHERE user=''; mysql> FLUSH PRIVILEGES;

Работа с MySQL в режиме администрирования Основные команды: mysql>create database ak5; mysql> use ak5; mysql> show databases; mysql> show tables mysql> GRANT ALL PRIVILEGES ON book.* TO IDENTIFIED BY '123'; shell>mysql -u user -p Enter password: *** Welcome to the MySQL monitor!... mysql>

Язык SQL Функции любой СУБД включают: создание, удаление, изменение базы данных (БД); добавление, изменение, удаление, назначение прав пользователя; внесение, удаление и изменение данных в БД (таблиц и записей); выборку данных из БД.

Основные операторы языка SQL Оператор CREATE TABLE Синтаксис CREATE [TEMPORARY] TABLE [IF NOT EXISTS] имя_таблицы [(определение_столбца,...)] [опции_таблицы] [select_выражение] имя_столбца тип [NOT NULL | NULL] [DEFAULT значение_по_умолчанию] [AUTO_INCREMENT][PRIMARY KEY] [reference_definition] Тип столбца (тип в выражении определение_столбца) может быть одним из следующих: целый: INT[(length)] [UNSIGNED] [ZEROFILL] действительный: REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] символьный: CHAR(length) [BINARY] и VARCHAR(length) [BINARY] дата и время: DATE и TIME для работы с большими объектами: BLOB текстовый: TEXT перечислимое множество: ENUM(value1,value2,value3,...) и SET(value1,value2,value3,...) Полный список типов смотрите в документации MySQL.

Вместо перечисления столбцов - списки ключевых и индексных полей PRIMARY KEY (имя_индексируемого_столбца,...) или KEY [имя_индекса] (имя_индексируемого_столбца,...) или INDEX [имя_индекса] (имя_индексируемого_столбца,...) или UNIQUE [INDEX] [имя_индекса] (имя_индексируемого_столбца,...) или FULLTEXT [INDEX] [имя_индекса] (имя_индексируемого_столбца,...) или [CONSTRAINT symbol] FOREIGN KEY [имя_индекса] (имя_индексируемого_столбца,...) [reference_definition] или CHECK (expr) имя_столбца [(длина_индекса)] FOREIGN KEY, CHECK и REFERENCES для совместимости с другими SQL- серверами

Свойства (опции) таблицы Тип таблицы: TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM } Начальное значение счетчика автоинкремента: AUTO_INCREMENT = число Средняя длина строк в таблице: AVG_ROW_LENGTH = число Комментарии к таблице (строка из 60 символов): COMMENT = "строка" Максимальное и минимальное предполагаемое число строк: MAX_ROWS = число и MIN_ROWS = число Опционально: SELECT (select_выражение): [IGNORE | REPLACE] SELECT... (любое корректное выражение SELECT)

Задание: Создать таблицу Persons, структура которой была приведена на слайде 7. mysql>CREATE TABLE Persons (id INT PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(50), last_name VARCHAR(100), death_date INT, description TEXT, photo INT, citienship CHAR(50) DEFAULT 'Russia'); Проверка результата: mysql>SHOW databases; mysql>use ak5; mysql>show tables; mysql> show columns from Persons;

Основные операторы языка SQL Оператор DROP TABLE Синтаксис DROP TABLE [IF EXISTS] имя_таблицы [, имя_таблицы,...] [RESTRICT | CASCADE] mysql> DROP TABLE IF EXISTS Persons, Artifacts, test; Оператор ALTER TABLE Синтаксис: ALTER [IGNORE] TABLE имя_таблицы alter_specification [, alter_specification...] добавление поля: ADD [COLUMN] определение_столбца [FIRST | AFTER имя_столбца ] или ADD [COLUMN] (определение_столбца, определение_столбца,...)

Основные операторы языка SQL изменение поля: ALTER [COLUMN] имя_столбца {SET DEFAULT literal | DROP DEFAULT} или CHANGE [COLUMN] старое_имя_столбца определение_столбца или MODIFY [COLUMN] определение_столбца удаление поля, индекса, ключа: DROP [COLUMN] имя_столбца DROP PRIMARY KEY DROP INDEX имя_индекса переименование таблицы: RENAME [TO] новое_имя_таблицы переупорядочение полей таблицы: ORDER BY поле или опции_таблицы Оператор ALTER TABLE Синтаксис: ALTER [IGNORE] TABLE имя_таблицы alter_specification [, alter_specification...] добавление поля: ADD [COLUMN] определение_столбца [FIRST | AFTER имя_столбца ] или ADD [COLUMN] (определение_столбца, определение_столбца,...) добавление индексов: ADD INDEX [имя_индекса] (имя_индексируемого_столбца,...) или ADD PRIMARY KEY (имя_индексируемого_столбца,...) или ADD UNIQUE [имя_индекса] (имя_индексируемого_столбца,...) или ADD FULLTEXT [имя_индекса] (имя_индексируемого_столбца,...) mysql> ALTER TABLE Persons ADD bday INTEGER AFTER last_name;

Основные операторы языка SQL Примеры. mysql> SELECT * FROM Persons WHERE first_name='Александр'; mysql> SELECT title,description FROM Artifacts WHERE id=10; Оператор SELECT Синтаксис: mysql> SELECT 2*2; SELECT select_выражение 1, select_выражение 2,... [FROM table_references [WHERE where_definition] [ORDER BY {число | имя_столбца | формула} [ASC | DESC],...]]

Основные операторы языка SQL Примеры: 1) mysql> INSERT INTO Persons (last_name, bday) VALUES ('Иванов', '1934'); 2) mysql> INSERT INTO Artifacts (author) SELECT id FROM Persons WHERE last_name='Иванов' AND bday='1934'; 3) mysql> INSERT INTO Persons SET last_name='Петров', first_name='Иван'; Оператор INSERT Синтаксис: INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] имя_таблицы [(имя_столбца,...)] VALUES (выражение,...),(...),... INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] имя_таблицы [(имя_столбца,...)] SELECT... INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] имя_таблицы SET имя_столбца=выражение, имя_столбца=выражение,...

Основные операторы языка SQL Нельзя: mysql> INSERT INTO имя_таблицы (col1,col2) VALUES(col2*2,15); Оператор INSERT Можно: mysql> INSERT INTO имя_таблицы (col1,col2) VALUES(15,col1*2);

Основные операторы языка SQL LOW_PRIORITY, DELAYED и IGNORE INSERT INSERT IGNORE дублирующиеся ключи (PRIMARY или UNIQUE)

Основные операторы языка SQL Примеры: 1) mysql> UPDATE Persons SET death_date=death_date+1; 2) mysql> UPDATE Artifacts SET title='Ламповая ЭВМ' Limit 1; Оператор UPDATE Синтаксис: UPDATE [LOW_PRIORITY] [IGNORE] имя_таблицы SET имя_столбца 1=выражение 1 [, имя_столбца 2=выражение 2,...] [WHERE where_definition] [LIMIT число]

Основные операторы языка SQL Примеры: 1) mysql> DELETE FROM Persons WHERE bday>2003; 2) mysql> DELETE FROM Persons WHERE 1>0; 3) mysql> DELETE FROM Persons; Оператор DELETE Синтаксис: DELETE [LOW_PRIORITY] FROM имя_таблицы [WHERE where_definition] [LIMIT rows]