Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на айфон. ответа по бд.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
972.8 Кб
Скачать

9)Архитектура и принципы физического хранения данных в субд MySql

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

Рис. 1.  Схема передачи данных в архитектуре "клиент/сервер"

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

Строки таблиц могут быть связаны друг с другом одним из трех способов: один к одному, один к многим, многие ко многим.

По умолчанию каждая база данных хранится в отдельной папочке, название которой совпадает с названием этой базы данных, которые, в свою очередь, хранятся (опять же, по умолчанию) в папке DATA директории, в которой установлен сервер. Изменить дефолтовое местоположение данных можно следующим образом. Например, вы хотите создать базу данных, которая будет храниться, скажем, в E:/data/database_name, где database_name — имя базы данных. Тогда вы создаете файл database_name.sym в директории DATA и записываете в него всего одну строчку, которая содержит путь к местоположению вашей базы данных: "E:/data/database_name", и сохраняете.

Если заглянуть в папки, в которых хранятся данные, то вы увидите там 3 файла. Данные хранятся в "оптимизированном" виде, т.е. не в виде простого текста — так просто их просмотреть не удастся. Итак, три файла: с расширениями .frm — в нем хранится информация о таблицах, содержащихся в БД, .myd — собственно данные и .myi — индексные данные.

Безопасность. Данные о пользователях MySQL хранит в специальной базе данных, которая называется mysql. В ней 5 таблиц, в которых хранятся логины и пароли в зашифрованном виде, а также атрибуты доступа к таблице. Эти таблицы называются:

  • | columns_priv |

  • | db |

  • | host |

  • | tables_priv |

  • | user |

В таблицах columns_priv, tables_priv хранятся привилегии пользователей для доступа, соответственно, к колонкам и таблицам, в db — привилегии для доступа к базам данных, в host — информация о компьютерах, с которых подключаются юзвери к MySQL, и, наконец, в таблице user хранится информация о пользователях. Более подробные сведения можно получить из мануала, который есть в установочном пакете (после установки он находится в mysql/Docs)

10)Команда create database. Команды выбора бд.

Синтаксис команды CREATE DATABASE имеет вид:

CREATE DATABASE [IF NOT EXISTS] имя_базы_данных

[спецификация_create[,спецификация_create]...]

Команда CREATE DATABASE создает базу данных с указанным именем. Для использования команды необходимо иметь привилегию CREATE для базы данных. Если база данных с таким именем существует, генерируется ошибка.

спецификация_create:

[DEFAULT] CHARACTER SET имя_набора_символов

[DEFAULT] COLLATE имя_порядка_сопоставления

Опция спецификация_сrеаtе может указываться для определения характеристик базы данных. Характеристики базы данных сохраняются в файле db.opt, расположенном в каталоге данных. Конструкция CHARACTER SET определяет набор символов для базы данных по умолчанию. Конструкция COLLATION задает порядок сопоставления по умолчанию.

Базы данных в MySQL реализованы в виде каталогов, которые содержат файлы, соответствующие таблицам базы данных. Поскольку изначально в базе нет никаких таблиц, оператор CREATE DATABASE только создает подкаталог в каталоге данных MySQL.

(Примечание: Команда заканчивается символом точки с запятой).

Пример:

Создадим базу данных работники.

create database rabotniki;

Сервер ответит

Запрос обработан, изменилась 1 строка (0.00 сек)

Это означает, что была успешно создана база данных

Определить текущую базу данных можно несколькими способами:

  • определение имени базы данных при запуске

Введите в приглашении системы следующее:

mysql rabotniki

  • определение базы данных с помощью оператора USE в приглашении mysql

mysql>USE rabotniki;

  • Определение базы данных с помощью \u в приглашении mysql

mysql>\u rabotniki;

Опять выберем БД и теперь увидим нашу БД в таблице: