Проектирование информационных систем

База данных как структурированная совокупность данных. Технические возможности СУБД MySQL. Характеристика различных типов данных. Особенности реализации языка SQL в СУБД MySQL. Особенности СУБД. Разработка новой удаленной базы данных MySQL на сервере.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 20.11.2020
Размер файла 30,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

“Хабаровский государственный технический университет”

Методические указания

Проектирование информационных систем

Хабаровск

2005

Проектирование информационных систем: методические указания к выполнению практического задания № 9 для студентов специальности 071900 «Информационные системы и технологии» / сост. Г.К. Конопелько, Д.Г. Конопелько. - Хабаровск: Изд-во Хабар. гос. техн. ун-та, 2005. - 27 с.

Методические указания составлены на кафедре «Автоматика и системотехника». В них приводятся задание на практическую работу, требования по оформлению отчета, а также краткие общие сведения. Дается перечень рекомендованной литературы, необходимой для выполнения задания.

Печатается в соответствии с решениями кафедры "Автоматика и системотехника" и методического совета института информационных технологий.

Цель работы: получить навыки работы с СУБД MySQL.

Практическое задание выполняется в локальной сети на рабочей станции с операционной системой Windows 95/98, 2000, XP или более поздней, с установленным сервером с операционной системой Linux версии не ниже пятой.

Порядок выполнения практического задания

1. Подготовка и допуск к работе

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

Перед работой студент должен:

предъявить преподавателю полностью оформленный отчет о предыдущей работе;

ответить на вопросы преподавателя.

К работе не допускаются студенты, которые не выполнили одно из вышеперечисленных требований.

Отчёт по работе должен содержать следующее:

- Текст задания.

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

- Вывод по работе.

Общие сведения

В УБД MySQL реализовано подмножество языка SQL, соответствующее спецификации ANSI SQL 92.

MySQL - это система управления базами данных.

База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми - от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является СУБД MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.

MySQL - это система управления реляционными базами данных.

В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.

Программное обеспечение MySQL - это программное обеспечение (ПО) с открытым кодом.

ПО с открытым кодом означает, что применять и модифицировать его может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями. Использование программного обеспечения MySQL регламентируется лицензией GPL (GNU General Public License), http://www.gnu.org/licenses/, в которой указано, что можно и чего нельзя делать с этим программным обеспечением в различных ситуациях.

В каких случаях следует отдавать предпочтение СУБД MySQL?

MySQL является очень быстрым, надежным и легким в использовании. Если вам требуются именно эти качества, попробуйте поработать с данным сервером. MySQL обладает также рядом удобных возможностей, разработанных в тесном контакте с пользователями. Первоначально сервер MySQL разрабатывался для управления большими базами данных с целью обеспечить более высокую скорость работы по сравнению с существующими на тот момент аналогами. И вот уже в течение нескольких лет данный сервер успешно используется в условиях промышленной эксплуатации с высокими требованиями. Несмотря на то что MySQL постоянно совершенствуется, он уже сегодня обеспечивает широкий спектр полезных функций. Благодаря своей доступности, скорости и безопасности MySQL очень хорошо подходит для доступа к базам данных по Internet.

Технические возможности СУБД MySQL
ПО MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).

Типы данных

Обработка числовых данных

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

Имя типа Кол-во бит Диапазон со знаком Диапазон без знака
TINYINT 8 -128..127 0..255
SMALLINT 16 -32768..32767 0..65535
MEDIUMINT24-8388608..83886070..16777215
INTEGER32-147483648..21474836470..4294967295
BIGINT64-(263)..(263-1)0..(264)
Тип INT используется как псевдоним для INTEGER. Другими псевдонимами служат: INT1=TINYINT, INT2=SMALLINT, INT3=MEDIUMINT, INT4=INT, INT8=BIGINT и MIDDLEINT=MEDIUMINT.

Обработка строковых данных

MySQL поддерживает следующие строковые типы (М обозначает максимальный отображаемый размер или PRECISION).

CHAR(M) - строка фиксированной длины всегда дополняемая справа пробелами. М может находиться в диапазоне от 1 до 255 символов.

VARCHAR(M) - строка переменной длины. Замыкающие пробелы удаляются базой данных при записи значения, что отличается от спецификации ANSI SQL. М может находиться в диапазоне от 1 до 255 символов.

ENUM(' value1' , 'value2',...) - перечисление. Строковый объект, у которого может быть только одно значение, выбранное из заданного списка (или NULL). В перечислении может быть до 65 535 различных значений.

SET('value1' , ' value2' , ..) - множество. Строковый объект, у которого может быть несколько значений (или ни одного), каждое из которых должно выбираться из указанного списка. SET может иметь максимум 64 элемента.

Длина типов CHAR и VARCHAR ограничена 255 байтами. Все строковые типы поддерживают двоичные символы, включая NULL (для литеральных строк используйте метод $dbh->quote()).

Поддерживаются также следующие псевдонимы:

BINARY(num) CHAR(num) BINARY

CHAR VARYING VARCHAR

LONG VARBINARY BLOB

LONG VARCHAR TEXT

VARBINARY(num) VARCHAR(num) BINARY

Основные команды

Просмотреть список команд программы mysql можно, запустив ее с параметром --help:

shell> mysql --help

Выведенный этой командой на экран монитора список команд достаточно хорошо прокомментирован и поэтому здесь не приводится.

Запустить СУБД MySQL можно следующим образом:

mysql [OPTIONS] database

Описание СУБД MySQL

Клиентская часть СУБД MySQL названа mysql. Она обеспечивает интерфейс командной строки с СУБД MySQL и возможность неинтерактивной пакетной обработки.

Опции, поддерживаемые программой mysql, представлены в таблице. Вы можете использовать или «короткий» одиночный символ или более подробную версию.

Таблица 1 Опции mysql

Опция

Описание

-\?, --help

Справка

Опция

Описание

-d, --debug=[options]

Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename'

-d, --debug-info

Вывести отладочную информацию при выходе из программы

-e, --exec

Выполнить команду и выйти, неявная форма опции --batch

-f, --force

Продолжить, даже если мы сталкиваемся с SQL ошибкой

-h, --hostname=[hostname]

Задает имя сервера, с которым вы желаете соединиться

-P, --port=[port]

Порт для соединения с сервером MySQL

-p, --password=[password]

Пароль пользователя для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем

-q, --quick

Быстрый (небуферизованный вывод), может замедлить сервер, если вывод приостановлен

-s, --silent

Работать молча (подавить вывод)

-u, --user=[user]

Имя пользователя для соединения с сервером MySQL. Необязательно, если имя пользователя такое же, как ваш логин. По умолчанию именно ваш логин используется в качестве имени пользователя, что облегчает настройку

Опция

Описание

-v, --verbose

Подробный вывод. -v опция может быть удвоена или утроена для более подробного вывода. В программах русских авторов обычно именуется "уровнем болтливости программы"

-w, --wait

Если подключение терпит неудачу, то подождать и повторить попытку

-B, --batch

Выполнить в пакетном режиме. Никаких запросов и никаких ошибок в STDOUT. Устанавливается автоматически при чтении из записи в канал (пайп). Результаты будут выведены в формате с разделением табуляцией. Одна строка результата соответствует одной строке вывода

-I, --help

Справка, эквивалент -\?

-V, --version

Вывести информацию о версии пакета

В интерактивном режиме mysql будет печатать результаты в таблице подобно примеру, приведенному ниже. Если не задан пароль или имя пользователя mysql попробует зайти в систему на сервере базы данных с использованием вашего логина и НУЛЕВОГО (ПУСТОГО) пароля. Если ваш mysql логин отличается от вашего логина в unix, или если вы имеете пароль, то соединение с MySQL выполнено не будет.

Например:

bsd# mysql -u coobic

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4 to server version: 4.0.12-max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Реализация языка SQL в СУБД MySQL

Создание базы данных

Просмотреть список существующих баз данных в настоящее время на сервере можно при помощи команды SHOW:

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| mysql |

| test |

| trf |

+----------+

3 rows in set (0.00 sec)

База данных mysql просто необходима, так как в ней описываются пользовательские права доступа. База test часто применяется для экспериментов.

Впрочем, всех баз вы можете и не увидеть, если у вас нет привилегии SHOW DATABASES.

Если база данных test существует, попробуйте обратиться к ней:

mysql> USE test

Database changed

В команде USE, как и QUIT, точка с запятой не нужна (конечно, данные команды тоже можно завершать точкой с запятой - никакого вреда от этого не будет). Команда USE отличается от остальных и кое-чем еще: она должна задаваться одной строкой.

Если администратор при выдаче разрешения создаст для вас базу, с ней можно сразу начинать работу. При отсутствии БД вам придется создать ее самостоятельно:

mysql> CREATE DATABASE perpetuum;

Query OK, 1 row affected (0.00 sec)

В Unix имеет значение регистр символов в именах баз данных (в отличие от ключевых слов SQL), так что в этой ОС вам всегда придется называть свою базу perpetuum, а не Perpetuum или еще как-нибудь. Это же правило распространяется и на имена таблиц (в Windows данное ограничение не действует, однако при обращении к базам и таблицам в пределах одного запроса, тем не менее, можно использовать только один регистр).

При создании базы данных она автоматически не выбирается; выбирать ее нужно отдельно. Сделать perpetuum текущей базой можно с помощью следующей команды:

mysql> USE perpetuum

Database changed

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

shell> mysql -h host -u user -p perpetuum

Enter password: ********

Обратите внимание: в вышеприведенной команде perpetuum не является паролем. Ввести пароль в командной строке после параметра -p можно без пробела (например, -pmypassword, а не -p mypassword). Впрочем, пароль в командной строке все равно лучше не вводить, так как таким образом его могут и подсмотреть.

Создание таблицы

При помощи команды CREATE TABLE определим структуру новой таблицы:

mysql> CREATE TABLE TABLE1 (

-> NUMBER INTEGER NOT NULL AUTO_INCREMENT,

-> FAMALY VARCHAR(35),

-> NAME VARCHAR(30),

-> OTCHESTVO VARCHAR(35),

-> DESCRIPTION BLOB,

-> PHOTOFILE BLOB,

-> EMAIL VARCHAR(40),

-> ZVANIE VARCHAR(34),

-> DOLGNOST VARCHAR(40),

-> PRIMARY KEY (NUMBER)

-> );

Query OK, 0 rows affected (0.06 sec)

Теперь, когда таблица создана, команда SHOW TABLES должна вывести следующее:

mysql> SHOW TABLES;

+---------------------+

| Tables_in_perpetuum |

+---------------------+

| TABLE1 |

+---------------------+

1 row in set (0.00 sec)

Проверить, правильно была ли таблица создана в соответствии с планом, можно при помощи команды DESCRIBE:

mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name | varchar(20) | YES | | NULL | |

| owner | varchar(20) | YES | | NULL | |

| species | varchar(20) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

| birth | date | YES | | NULL | |

| death | date | YES | | NULL | |

+---------+-------------+------+-----+---------+-------+

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

mysql> describe TABLE1;

+-------------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+-------------+------+-----+---------+----------------+

| NUMBER | int(11) | | PRI | NULL | auto_increment |

| FAMALY | varchar(35) | YES | | NULL | |

| NAME | varchar(30) | YES | | NULL | |

| OTCHESTVO | varchar(35) | YES | | NULL | |

| DESCRIPTION | blob | YES | | NULL | |

| PHOTOFILE | blob | YES | | NULL | |

| EMAIL | varchar(40) | YES | | NULL | |

| ZVANIE | varchar(34) | YES | | NULL | |

| DOLGNOST | varchar(40) | YES | | NULL | |

+-------------+-------------+------+-----+---------+----------------+

9 rows in set (0.02 sec)

Загрузка данных в таблицу

Создав таблицу, нужно позаботиться о ее заполнении. Для этого предназначены команды LOAD DATA и INSERT.

mysql> INSERT INTO TABLE1 VALUES (NULL,

-> 'Kulikov', 'Denis', 'Alexandrovich',

-> 'coobic', NULL, 'denis@redcom.ru',

-> NULL, NULL);

Query OK, 1 row affected (0.03 sec)

Команда SELECT

Синтаксис:

SELECT [STRAIGHT_JOIN] [DISTINCT | ALL] select_expression,...

[FROM tables... [WHERE where_definition] [GROUP BY column,...]

[ORDER BY column [ASC | DESC], ...] HAVING full_where_definition

[LIMIT [offset,] rows] [PROCEDURE procedure_name]]

[INTO OUTFILE 'file_name'... ]

Здесь where_definition:

where_definition:

where_expr or where_expr [AND | OR] where_expr

where_expr имеет формат:

where_expr:

column_name [> | >= | = | <> | <= | <]

column_name_or_constant or column_name LIKE column_name_or_constant or

column_name IS NULL or column_name IS NOT NULL or (where_definition)

Описание команды SELECT

Оператор SELECT является краеугольным камнем всего языка SQL. Он используется, чтобы выполнить запросы к базе данных. В MySQL версии меньше 3.21.x использование предложения WHERE очень ограничено. HAVING будет работать там, где предложение WHERE ничего не делает. В основном, использовать функции с WHERE нельзя, но можно использовать функции с HAVING. HAVING по существу есть WHERE применительно к результатам. Он используется главным образом для узкой области данных, возвращенных запросом. Вы должны иметь права select для использования SELECT.

Ниже приведена простая команда, запрашивающая у сервера информацию о его версии и текущей дате. Введите ее в командной строке mysql> и нажмите Enter:

mysql> SELECT VERSION(), CURRENT_DATE;

+------------+--------------+

| version() | current_date |

+------------+--------------+

| 4.0.12-max | 2003-10-08 |

+------------+--------------+

1 row in set (0.00 sec)

mysql>

Этот запрос иллюстрирует следующие особенности mysql:

· Команда обычно состоит из SQL-выражения, за которым следует точка с запятой. Из этого правила есть и исключения - команды без точки с запятой. Одним из них является упомянутая выше команда QUIT, остальные мы рассмотрим позднее.

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

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

· mysql сообщает количество возвращаемых строк и время выполнения запроса, что позволяет в некоторой степени составить представление о производительности сервера. Эти значения обычно весьма впечатляют, так как представляют обычное (а не машинное время), кроме того, на них оказывает влияние загрузка сервера и скорость работы сети (для сокращения размеров листингов в остальных примерах этой главы строка "rows in set" удалена).

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

mysql> SELECT VERSION(), CURRENT_DATE;

mysql> select version(), current_date;

mysql> SeLeCt vErSiOn(), current_DATE;

А это - еще один запрос. В нем демонстрируется использование mysql в качестве несложного калькулятора:

mysql> SELECT SIN(PI()/4), (4+1)*5;

+-------------+---------+

| SIN(PI()/4) | (4+1)*5 |

+-------------+---------+

| 0.707107 | 25 |

+-------------+---------+

Все команды, представленные выше, были относительно короткими и состояли из одной строки. В одну строку можно поместить и несколько команд. Но каждая из них должна заканчиваться точкой с запятой:

mysql> SELECT VERSION(); SELECT NOW();

+------------+

| VERSION() |

+------------+

| 4.0.12-max |

+------------+

1 row in set (0.00 sec)

+---------------------+

| NOW() |

+---------------------+

| 2003-10-08 23:22:38 |

+---------------------+

1 row in set (0.00 sec)

Вот пример несложного выражения, занимающего несколько строк:

mysql> SELECT

-> USER()

-> ,

-> CURRENT_DATE;

+------------------+--------------+

| user() | current_date |

+------------------+--------------+

| coobic@localhost | 2003-10-08 |

+------------------+--------------+

1 row in set (0.00 sec)

Если вы решите отменить исполнение набираемой команды, наберите \c:

mysql> SELECT

-> USER()

-> \c

mysql>

Обратите внимание на метку: после ввода команды \c она снова принимает вид mysql>, показывая, что программа mysql перешла в режим ожидания указаний.

В таблице 2 приведены все возможные варианты вида метки командной строки и соответствующие им состояния mysql:

Таблица 2

Метка

Значение

mysql>

Ожидание новой команды

->

Ожидание следующей строки многострочной команды

'>

Ожидание следующей строки, сбор строкового выражения, начинающегося с одиночной кавычки (''')

">

Ожидание следующей строки, сбор строкового выражения, начинающегося с двойной кавычки ('"')

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

mysql> SELECT USER()

->

Если с вами произошло подобное (вы думаете, что завершили команду, но программа выдает только метку ->), то mysql, вероятнее всего, ждет точки с запятой. Не обратив внимание на метку командной строки, можно довольно долго ждать выполнения команды, не понимая в чем дело. А достаточно лишь поставить точку с запятой, завершив команду, которую mysql и выполнит:

mysql> SELECT USER()

-> ;

+------------------+

| user() |

+------------------+

| coobic@localhost |

+------------------+

1 row in set (0.00 sec)

Метки '> и "> используются при сборе строк. В MySQL строки можно заключать как в одинарные ('''), так и в двойные ('"') кавычки (можно, например, написать 'hello' или "goodbye"), к тому же, mysql позволяет вводить строковые выражения, состоящие из нескольких строчек текста. Метка '> или "> обозначает, что вы ввели строку, открывающуюся символом кавычек '' или "", но еще не ввели завершающую строковое выражение закрывающую кавычку.

Это, конечно, нормально, если вы собираетесь создать большое строковое выражение из нескольких строчек. Но это не слишком частый случай. Гораздо чаще оказывается, что вы просто забыли поставить закрывающую кавычку. Например:

mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;

">

Если ввести такую команду SELECT, нажать Enter и подождать результатов, ничего не произойдет. Тут-то и нужно обратить внимание на метку командной строки, выглядящую вот так: ">. Это значит, что mysql ждет ввода завершающей части строки. (Теперь заметили ошибку в команде? В строке "Smith нет закрывающей кавычки.)

Что делать в этом случае? Проще всего было бы отменить команду. Однако теперь просто набрать \c нельзя, так как mysql примет эти символы за часть собираемой строки! Вместо этого нужно ввести закрывающие кавычки (тем самым дав mysql понять, что строка закончилась) и лишь затем набрать \c:

mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;

"> "\c

mysql>

Метка командной строки снова примет вид mysql>, показывая готовность mysql к выполнению команд.

Знать значение меток '> и "> необходимо, так как при вводе незавершенной строки все последующие строки будут игнорироваться mysql - включая строку с командой QUIT! Это может основательно сбить с толку, особенно, если не знать, что для отмены команды перед соответствующей последовательностью символов необходимо поставить закрывающую кавычку.

Команда Delete

Синтаксис команды DELETE полностью соответствует спецификации SQL92, поэтому в данных методических указаниях не приводится.

Особенности СУБД

Ядро MySQL само удаляет пробелы, находящиеся в конце строки. Другая характерная особенность состоит в том, что при сравнениях и сортировке регистр символов в колонках CHAR и VARCHAR не учитывается, если только не задать атрибут BINARY, например:

CREATE TABLE foo (A VARCHAR(10)BINARY);

В версиях MySQL после 3.23 можно осуществлять сравнение строк без учета регистра с помощью модификатора BINARY:

SELECT * FROM table WHERE BINARY column = "A"

Национальные символы обрабатываются в сравнениях соответственно системе кодировки, указанной во время компиляции, по умолчанию ISO-8859-1. Системы кодировки, не соответствующие ISO, в частности UTF-16, не поддерживаются.

Конкатенация строк производится с помощью функции SQL CONCAT(s1, s2, ...).

Обработка данных типа «дата»

MySQL поддерживает следующие типы даты и времени:

DATE

Дата в диапазоне с 0000-01-01 по 9999-12-31. MySQL выводит значения DATE в формате YYYY-MM-DD, но позволяет присваивать значения колонкам DATE в таких форматах:

YYMMDD

YYYYMMDD

YY..MM.DD

YYYY.MM.DD

Здесь «.» может быть любым нецифровым разделителем, а при задании года двумя цифрами предполагается год 20YY, если YY меньше 70.

DATETIME

Комбинация даты и времени. Поддерживаемый диапазон от 0000-01-01 00:00:00 до 9999-12-31 23:59: 59. MySQL выводит значения DATE-TIME в формате YYYY-MM-DD НН:ММ:SS, но допускает присвоение значений колонкам DATETIME с использованием показанных выше форматов для DATE с добавлением НН: ММ: SS.

TIMESTAMP(M)

Временная метка. Диапазон от 1970-01-01 00:00:00 и до некоторого момента в 2032 или 2106 году, в зависимости от специфического для операционной системы типа time_t. MySQL выводит значения TIMESTAMP в форматах YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD или YYMMDD, в соответствии со значением М, равным 14 (или же отсутствием подобного значения), 12, 8 или 6, но присваивать значения колонкам TIMESTAMP позволяет с помощью строк или чисел. Этот формат вывода не согласуется с руководством, поэтому его нужно проверять в каждой версии, т. к. он может измениться.

Колонки типа TIMESTAMP удобно использовать для регистрации времени операций INSERT или UPDATE, поскольку если для них не указывается значение, им присваивается время последней операции. Текущее время устанавливается и при попытке присвоить значение NULL.

TIME

Время в диапазоне от-838:59:59 до 838:59:59. MySQL выводит значения времени в формате НН:MM:SS. Присваивать значения колонкам TIME можно с помощью формата [[[DAYS] [H]H:

]MM:]SS[:fraction] или [[[[[H]H]H]H]MM]SS [.fraction].

YEAR

Год. Допустимыми значениями являются 1901-2155 и 0000 в формате четырех знаков и 1970-2069 при использовании двух цифр (70-69). При вводе двузначные годы в диапазоне 00-69 воспринимаются как 2000-2069. (YEAR является новым типом данных в MySQL 3.22.)

Обработка данных типа LONG/BLOB

В MySQL поддерживаются следующие типы BLOB:

TINYBLOB / TINYTEXT максимальный размер 255 (2**8 - 1)

BLOB / TEXT максимальный размер 65535 (2**16 - 1)

MEDIUMBLOB / MEDIUMTEXT максимальный размер 16777215 (2**24 - 1)

LONGBLOB / LONGTEXT максимальный размер 4294967295 (2**32 - 1)

Во всех типах BLOB допускаются двоичные символы.

Максимальный размер значений параметров метода bind_param() ограничен только максимальным размером команды SQL. По умолчанию это 1 Мбайт, но можно его увеличить почти до 24 Мбайт, изменив в mysqld переменную max_allowed_packet.

Передавать TYPE или другие атрибуты методу bind_param() при связывании этих типов не нужно.

Имена таблиц и колонок

В MySQL имена таблиц и колонок должны быть не длиннее 64 символов.

В MySQL можно заключать имена таблиц и колонок в одиночные кавычки (использование стандартных двойных кавычек допустимо, если база данных запущена с ключом --ansi-mode).

Это необходимо делать, если имя содержит специальные символы или зарезервированное слово. Ограничения на имена таблиц вызваны тем, что таблицы хранятся в файлах и имена таблиц являются, в действительности, именами файлов. В частности, чувствительность имен таблиц к регистру определяется файловой системой, также недопустимы некоторые символы, например «.» и «/».

В именах колонок регистр не различается, но имена сохраняются без преобразования регистра.

В MySQL в именах могут использоваться символы национальных алфавитов (с установленным восьмым битом).

Автоматическая генерация ключей и последовательностей

Для всех целочисленных полей в MySQL можно установить атрибут AUTO_INCREMENT. Это значит, что если есть таблица:

CREATE TABLE a (

id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,

...)

и команда:

INSERT INTO a (id,...) VALUES (NULL...),

то автоматически генерируется уникальный ID (то же, если поле ID вообще не указывать в команде вставки). Сгенерированный ID позднее можно извлечь:

$sth->{mysql_insertid} (1 21_хх)

$sth->{insertid} (1 20_хх)

Либо, если вы используете $dbh->do, а не prepare/execute, выполните команды:

$dbh->{mysql_insertid} (1 21_хх)

$dbh->do("SELECT LAST_INSERT_ID()" ); (1 20_хх)

MySQL не поддерживает непосредственно генераторы последовательностей, но они легко могут эмулироваться (детали можно найти в руководстве по MySQL). Например:

UPDATE seq SET id=last_insert_id(id+1)

Задание на практическую работу

1. Ознакомиться с операциями, производимыми c консоли СУБД и выполнить следующие действия:

· создать новую удаленную базу данных MySQL на сервере 62.76.207.201, названием которой будет is_№_в_журнале, пароль для доступа №_в_журнале;

· просмотреть доступные пользователю базы данных и версию СУБД;

· создать в созданной базе данных одну таблицу;

· отобразить структуру таблицы;

· добавить 5 записей в таблицу;

· просмотреть все записи в таблице;

· удалить одну запись в таблице;

· очистить таблицу;

· проверить различные варианты выборки (поиска) по значению одного из полей таблицы.

2. Таблица должна содержать минимум 5 строковых полей, 2 - цифровых, 1 - для хранения двоичных файлов (рисунков, фотографий).

3. Убедиться в работоспособности СУБД и продемонстрировать ее работу преподавателю.

4. Составить отчет по лабораторной работе.

Содержание отчета

1. Цель работы.

2. SQL-скрипт, использованный для создания БД.

3. Структура созданной таблицы.

4. Пример наполнения таблицы.

5. Версия СУБД и доступные пользователю базы данных.

Контрольные вопросы

1. Основные возможности СУБД MySQL и поддерживаемые платформы.

2. Типы данных, с которыми работает СУБД MySQL.

3. Команды, используемые для подключения к СУБД в консольном режиме.

4. Правила работы в консольном режиме с СУБД MySQL.

5. Особенности работы с СУБД MySQL.

Библиографический список

база данных mysql сервер

1. Документация к серверу MySQL. - Электр. дан. - Режим доступа: http://www.mysql.org

2. Чекалов А. Прагматический подход к разработке приложений Web баз данных. - Электр. дан. - Режим доступа: Web-сервер Citforum http://www.citforum.ru/internet/webdbapp/ index.shtml

Размещено на Allbest.ru


Подобные документы

  • Характеристика и технические возможности СУБД MySQL. Трехуровневая структура MySQL. Требования к аппаратному обеспечению. Создание таблицы, триггеров, генераторов, хранимых процедур в MySQL. Разработка приложения для базы данных с помощью Borland Delphi.

    курсовая работа [940,7 K], добавлен 20.12.2011

  • Общая характеристика системы управления базами данных MySQL, ее основные особенности и возможности, касающиеся обеспечения целостности данных. Реализация ограничений семантической и ссылочной целостности в СУБД MySQL на примере фрагмента ИС "Салон магии".

    курсовая работа [981,0 K], добавлен 14.10.2012

  • Система управления базами данных (СУБД) MySQL. Установка, настройка и запуск MySQL. Окончательная настройка нового MySQL сервера. Основные утилиты и журнальные файлы. Работа с виртуальными хостами. Синтаксис для создания таблиц и управление данными.

    реферат [3,5 M], добавлен 24.06.2019

  • Программные средства, которые помогают манипулировать и управлять данными. Приемы создания и редактирования баз данных в СУБД MySQL. Способы и средства доступа и манипулирования данными. Создание, удаление, редактирование таблиц данных и их элементов.

    практическая работа [1,2 M], добавлен 14.03.2013

  • Системы управления базами данных. Состав СУБД. Языки программирования. Проектирование базы данных на СУБД MySQL. Работа с XAMPP Control Panel. База данных " Детский сад". Вывод данных из таблицы "Ребенок", "Группы", "Классы" и "Направление занятий".

    курсовая работа [1,9 M], добавлен 13.12.2016

  • Общая характеристика СУБД MySQL. Отличительные черты физической организации хранения и обработки данных, имеющимся в СУБД MySQL. Характер связи между таблицами. Реализация ограничений семантической и ссылочной целостности на примере "Салон магии".

    курсовая работа [965,5 K], добавлен 13.01.2013

  • Общая характеристика СУБД MySQL, клиент-серверная технология. Отличительные черты физической организации хранения и обработки данных, имеющимся в СУБД MySQL. Средства администрирования и спектр программных интерфейсов. Характер связи между таблицами.

    презентация [73,2 K], добавлен 28.05.2019

  • Теоретические аспекты СУБД. Основные понятия. Функциональные возможности СУБД. Архитектура систем управления. Разработка базы данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде базы данных.

    курсовая работа [30,5 K], добавлен 23.02.2006

  • Функции, позволяющие работать с базой данных MySQL средствами РНР. Соединение с сервером и его разрыв. Создание и выбор базы данных. Доступ к отдельному полю записи. Комплексное использование информационных функций. Запросы, отправляемые серверу MySQL.

    лекция [3,5 M], добавлен 27.04.2009

  • Статические и динамические веб-сайты, их характеристика. Анализ возможностей применения языка PHP, системы управления базами данных (СУБД) MySQL, фреймворка CodeIgniter для разработки динамических веб-сайтов. Разработка шаблонов и главной страницы.

    курсовая работа [2,8 M], добавлен 19.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.