Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Создание базы данных операторами mysql



Http://sdb.su/informatika/page,3,881-sozdanie-i-rabota-s-bazami-dannyx-v-srede-mysql.html

Преснякова Г.В.

СОЗДАНИЕ И РАБОТА С БАЗАМИ ДАННЫХ В СРЕДЕ MySQL

Методические указания к выполнению лабораторных работ

Санкт-Петербург- 2007

ОГЛАВЛЕНИЕ

ЛАБОРАТОРНАЯ РАБОТА № 1. Работа с клиентской программой mysql

Создание базы данных операторами mysql

Типы данных mysql

Индексы

Заполнение таблиц данными

Запросы к базе данных

Выборка данных из одной таблицы

Многотабличные запросы на выборку данных

Запросы на обновление и удаление данных

Типы и структура таблиц

ЛАБОРАТОРНАЯ РАБОТА № 2. Хранимые процедуры

Создание хранимой процедуры-подпрограммы

Параметры хранимой процедуры-подпрограммы

Работа с таблицами базы данных

Хранимые процедуры-функции

Операторы управления потоком данных

Метаданные

ЛАБОРАТОРНАЯ РАБОТА № 3. Триггеры. Представления

Триггеры

Представления

ЛАБОРАТОРНАЯ РАБОТА № 1. Работа с клиентской программой mysql

Команда на языке mysql обычно состоит из выражения, за которым следует точка с запятой. Когда пользователь вводит команду, mysql отправляет ее серверу для выполнения и выводит на экран Сначала результаты, а затем – новую строку mysql>, что означает готовность к выполнению новых команд.

Строка mysql> называется приглашением командной строки.

Утилита mysql выводит результаты работы запроса, если таковые есть, в виде таблицы (строк и столбцов). В первой строке этой таблицы содержатся заголовки столбцов, а в следующих строках – собственно результаты. Обычно заголовками столбцов становятся имена, полученные из таблиц базы данных.

Утилита mysql также сообщает количество возвращаемых строк и время выполнения запроса, что позволяет в некоторой степени составить представление о производительности сервера.

Для mysql признаком завершения команды является точка с запятой, а не конец строки. Команды собираются, но не исполняются до тех пор, пока программа не обнаружит точку с запятой. Например, команда, требующая распечатать список баз данных сервера, может быть дана двумя строками так:

mysql> SHOW

−> DATABASES;

Обратите внимание на то, как изменилась метка командной строки (с mysql> на −>) после ввода первой строки этого запроса. Таким образом mysql показывает, что завершенного выражения она пока что не получила и ожидает его полного ввода. Эта метка полезна, так как предоставляет весьма ценную информацию о состоянии программы. С ее помощью всегда можно узнать, чего ждет mysql.

Создание базы данных операторами mysql

Создадим базу данных postavki, состоящую из трех таблиц:

Post (PN, PIM, ST, GOR)

Det (DN, DIM, CENA)

PD (PN, DN, KOL, DATA)

и схемой данных, представленной на рис.1.

Рис.1. Схема данных базы данных postavki

Запускаем утилиту mysql

Þ Пуск / Программы / MySQL / MySQL Server 5.0 / MySQL Command Line Client

Получаем ответ

Enter password:

Вводим имя суперпользователя root

Получаем ответ и строку приглашения

mysql>

Командой

mysql> help;

можно получить справку в виде:

Создаем базу данных командой

mysql> CREATE DATABASE postavki;

Получив команду, сервер выполняет ее и выдает сообщение (при успехе – Query OK, 1 row affected).

Следует отметить, что имена (баз данных, таблиц, полей таблицы и пр.) должны быть заданы с использованием латинских букв.

При создании базы данных она автоматически не выбирается, выбирать ее нужно отдельно, так как на сервере может храниться много различных баз данных. Для этого надо исполнить команду

mysql> USE postavki;

Итак, создавать базу данных нужно только однажды, но выбирать ее приходится в каждом сеансе работы с mysql.

В SQL-программе можно использовать комментарии:

− Комментарий может начинаться с двух дефисов «--». Все, что расположено правее, считается комментарием. Непосредственно после двух дефисов должен следовать хотя бы один пробел.

− Shell-комментарий # действует аналогично двум дефисам.

− С-комментарий /* */ является многострочным – комментарий начинается с «/*» и заканчивается символами «*/».

Типы данных mysql

Тип Объем памяти Диапазон
TINYINT [(n)] 1 байт От -128 до 127(от -27 до 27 -1) От 0 до 255 (от 0 до 28 -1)
SMALLINT [(n)] 2 байта От -32768 до 32767 (от -215 до 215 -1) От 0 до 65535 (от 0 до 216 -1)
MEDIUMINT [(n)] 3 байта  
INT [(n)] INTEGER [(n)] 4 байта  
BIGINT [(n)] 8 байт  
BIT [(n)] (n+7)/8 байт  
BOOL, BOOLEAN 1 байт  
DECIMAL [(n[,m])], DEC [(n[,m])], NUMERIC [(n[,m])] (n+2) байта  

Создадим таблицы, причем поля PN в таблице Post и DN в таблице Det объявим первичными ключами и укажем для них тип данных – счетчик.

mysql> CREATE TABLE Post (

−> PN smallint auto_increment, # поле счетчика – это комментарий

−> PIM char (20) not null, -- без пустых значений (комментарий)

−> ST smallint not null,

−> GOR char (20) not null

−> /* определяем первичный ключ (это –

−> многострочный комментарий) */

−> primary key (PN)

);

mysql> CREATE TABLE Det (

−> DN smallint auto_increment,

−> DIM char (20) not null,

−> CENA decimal not null

−> primary key (DN)

);

mysql> CREATE TABLE PD (

−> PN smallint not null,

−> DN smallint not null,

−> KOL int not null,

−> DATA date not null,

−> index (PN), -- индексируем поле PN

−> index (DN), # индексируем поле DN

−> /* создаем связь дочерней таблицы PD

−> с родительской таблицей Post по полю PN */

−> foreign key (PN) references Post (PN)

−> /* определяем каскадное удаление связанных

−> записей и каскадное обновление связанных

−> полей */

−> on delete cascade

−> on update cascade,

−> /* аналогично для таблиц Det и PD */

−> foreign key (DN) references Det (DN)

−> on delete cascade

−> on update cascade

−> );

После создания таблиц можно посмотреть их список и структуру.

Посмотреть список таблиц в базе данных можно командой

mysql> SHOW TABLES;

а структуру таблицы – командой mysql> DESCRIBE имя_таблицы

 

 

Индексы

Индексы используются для ускорения работы с данными. Обычно записи по значению какого-либо неключевого поля располагаются в хаотическом порядке. Например, в таблице PD для поля DN:

Для того, чтобы найти нужную запись с заданным номером детали, необходимо сканировать всю таблицу, что долго. Идея индексов состоит в том, чтобы создать для столбца DN копию, которая постоянно будет поддерживаться в отсортированном состоянии. Это позволяет очень быстро осуществлять поиск по индексированному столбцу, так как заранее известно, где необходимо искать значение (см.рис.2).

Рис.2 Индекс по полю DN в таблице Det

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.