Базы данных и PHP
• База данных – это совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. • База данных является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД). • СУБД обеспечивает поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей.
• Реляционная база данных представляет собой набор таблиц, связанных между собой. Строка в таблице соответствует сущности реального мира (в приведенном выше примере это информация о человеке). • В основу объектной модели (на основе сущностей) положена концепция объектноориентированного программирования, в которой данные представляются в виде набора объектов и классов, связанных между собой родственными отношениями, а работа с объектами осуществляется с помощью скрытых (инкапсулированных) в них методов.
Ключи • Первичный ключ (primary key, PK) – минимальный набор полей, уникально идентифицирующий запись в таблице.
• В My. SQL, существует три вида индексов: PRIMARY, UNIQUE, и INDEX, а слово ключ (KEY) используется как синоним слова индекс (INDEX). • Все индексы хранятся в памяти в виде B-деревьев. • PRIMARY – уникальный индекс (ключ) с ограничением, что все индексированные им поля не могут иметь пустого значения (т. е. они NOT NULL). Таблица может иметь только один первичный индекс, но он может состоять из нескольких полей. • UNIQUE – ключ (индекс), задающий поля, которые могут иметь только уникальные значения. • INDEX – обычный индекс. В My. Sq. L, кроме того, можно индексировать строковые поля по заданному числу символов от начала строки.
My. SQL • My. SQL – это реляционная система управления базами данных. То есть данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL. My. SQL – свободно распространяемая система, т. е. платить за ее применение не нужно.
• Работать с My. SQL можно не только в текстовом режиме, но и в графическом. Существует очень популярный визуальный интерфейс (кстати, написанный на PHP) для работы с этой СУБД. Называется он Php. My. Admin (http: //localhost/Tools/php. My. Admin/). Этот интерфейс позволяет значительно упростить работу с базами данных в My. SQL.
Запуск My. SQL с правами админа • mysql -u root
Создание базы данных • create database имя;
Создание таблицы • 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(value 1, value 2, value 3, . . . ) или SET(value 1, value 2, value 3, . . . )
Работа с базой данных • Активизация базы use имя; • Просмотр таблиц базы show tables; • Показать все столбцы из базы show columns from имя; • DROP TABLE имя – удаление таблицы • SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц и расчетов
Создание таблицы • Пример создания таблицы с столбцами: индекс, фамилия, имя. • Create table tab 1( • id INT PRIMARY KEY AUTO_INCREMENT, • Familia varchar(50), • Imya varchar(50));
Заполнение таблицы • Insert into tab 1(familia, imya) values(‘Ivanov’, ’ivan’);
Выборка данных из таблицы Select * from tab 1;