![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
MoLeX |
|
||||||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 7 Всего: 140 |
Если тема не актуально, крива написана и т.д. то лучше сразу удалите)
Учимся работать с СУБД MySQL или ликбез безграмотности Что такое СУБД: Система управления базами данных — специализированная программа, предназначенная для манипулирования базой данных. Для создания и управления информационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транслятор. Основные функции СУБД: •управление данными во внешней памяти (на дисках); •управление данными в оперативной памяти; •журнализация изменений и восстановление базы данных после сбоев; •поддержка языков БД (язык определения данных, язык манипулирования данными). Компоненты современной СУБД: •ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию; •процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных, и создание, как правило, машинно-независимого исполняемого внутреннего кода; •подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД; •а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы. Классификация СУБД: По модели данных: •Сетевые; •Иерархические; •Реляционные; •Объектно-реляционные; •Объектно-ориентированные. По способу доступа к БД: •Файл-серверные (Примеры: Microsoft Access); •Клиент-серверные (Примеры: MySQL, MS SQL Server, Interbase/Firebird); •Встраиваемые (Примеры: SQLite, BerkeleyDB). MySQL возникла, как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня. В результате был выработан новый SQL-интерфейс, но API-интерфейс остался в наследство от mSQL. Откуда происходит название «MySQL» — доподлинно не известно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса My, либо в честь девочки по имени My, дочери Майкла Монти Видениуса, одного из разработчиков системы. Она портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP и прочим версиям Microsoft Windows. Имеет API для языков C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC. На этом объяснения, что такое СУБД MySQL заканчивается и переходим к практической части. Для примера возьмем и напишем небольшой новостной движок, с помощью которого мы и поймем, как PHP взаимодействует с MySQL. Раздел 1. Составляем sql-запрос. В начале надо определиться, что будем отображать в новостях: 1 – Заголовок новости (или ее название), 2 – Сама новость, 3 – Количество людей просмотревших новость, 4 – Дата добавления. В итоге получаем вот такой sql – запрос:
CREATE TABLE определяет структуру таблицы в базе данных. Этим оператором создаются все таблицы MySQL. Предложение состоит из имени таблицы, за которым идет любое количество определений полей. Синтаксис определения полей включает в себя имя поля, за ним его тип, за ним любой модификатор (например: name text NOT NULL). id уникальный номер новости (для удобства последующей работы). name поле для название новости (пример: Первая новость на сайте и т.д.). text текст новости. views количество людей просмотревших новость. datew дата добавления новости. int(11) – атрибут указывает, что значение данного поля будет не больше 11 знаков (есть сомнения что у вас будет больше 10 в 11 степени новостей); tinytext – текстовое поле (нечувствительно к регистру) с максимальной длиной в 255 символов; text – текстовое поле с максимальной длиной в 64 Кбайт текста; date – значение даты, которое хранит год, месяц и день. Значения всегда выводятся в формате 'YYYY-MM-DD', но могут быть введены в любом из следующих форматов: 'YY-MM-DD', 'YYYY-MM-DD', 'YYMMDD' или 'YYYYMMDDHHMMSS'; NOT NULL –атрибут гарантирует, что каждая запись в столбце будет иметь какое-либо, отличное от NULL, значение. Попытка вставить в такое поле значение NULL вызовет ошибку; auto_increment – атрибут позволяет автоматически обновлять числовое поле. Это удобно для создания уникальных идентификаторов для записей в таблице. Данные могут быть записаны и прочитаны из такого поля, как из обычного, но при вводе значения NULL или 0 существующее значение автоматически увеличивается на единицу; PRIMARY KEY (id) – атрибут автоматически делает поле первичным ключом таблицы; ENGINE=MyISAM – стандарт таблицы; CHARSET=cp1251 – в какой кодировке создаем таблицу. Ну что же теперь ползем в phpmyadmin, создаем новую БД (надеюсь знаете как) и выполняем sql-запрос. Раздел 2. PHP-код. На сервере создаем 2-ва файла – index.php и config.php config.php
А на счет index.php надо подумать: 2.1. Пишем html-код движка (даже комментировать не буду что вы должны там написать) 2.2. Инклюдим файл с настройками доступа к БД, осуществляем подключение и сразу даем знать в какой кодировке хотим работать. 2.3. С помощью управляющего оператора SWITCH создаем будущую навигацию. 2.3.1. Если пользователь находится на главной странице, то формируем запрос для вывода данных в последующем порядке 9,8,7 и т.д. затем узнаем, сколько записей в БД (это нам пригодится для цикла) и циклом for выводим дату, название и количество человек, которые просмотрели новость. Если же пользователь смотрит какую-то конкретную новость, то с помощью update обновляем поле views (увеличиваем его значение на 1) и выводим ему текстовый массив определенной новости. 2.3.2. Для добавление новости создаем форму с двумя полями (одно input другое textarea). После заполнения полей и нажатия на кнопку получаем значение полей через метод POST и формируем запрос к БД с помощью INSERT INTO. 2.3.3. С помощью выпадающего списка выводим весь перечень новостей, после выбора одной новости делаем запрос к БД на вывод полей и отображаем их в форме. Сохраняем (апдейтим) с помощью UPDATE. 2.3.4. То же самое что и 2.3.3. только делаем удаление новости (DELETE) Вот в принципе и все. В исходнике специально не обращал внимание на безопасность (делал для того чтобы какой-нибудь гуру не воспользовался Ctrl+C & Ctrl+V). Приблизительно должно получится так (а может быть еще и лучше):
P.S. В процессе написания были использованы следующие ресурсы: http://ru.wikipedia.org, http://www.mysql.ru. Так же спасибо Astraller’у за консультацию. сильно строго не судите, это моя первая поптыка написания дока Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() -------------------- Amazing ![]() |
||||||
|
|||||||
XOTABIH |
|
||||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 25.12.2007 Репутация: нет Всего: нет |
MoLeX-от имени своего так скажем учителя который меня научил как обращаться с базой данных я сделал свою бд: и описываю пример своей базы данных и составляющие её типы таблицы:
вот можете ещё создать мою базу тоесть этоп пример того что сделано мной и то как научился создавать бд. Соствляющие типы бд таблицы:
и.т.д. Я их все описывать небуду потому как список большой. |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |