Розробка гнучкої інтегрованої системи автоматизації діяльності контрольно-пропускних пунктів

Розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства з використанням мов програмування PHP, JavaScript і MySql. Практичні аспекти проектування ГІС із використанням WEB-технологій і баз даних, тестування програми.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 25.10.2012
Размер файла 1,5 M

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

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

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

Міністерство освіти і науки України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій та управління. Кафедра технічної кібернетики

ДИПЛОМНА РОБОТА

зі спеціальності

7.091402 “Гнучкі комп'ютеризовані системи та робототехніка“

ПОЯСНЮВАЛЬНА ЗАПИСКА

«Розробка гнучкої інтегрованої системи автоматизації діяльності контрольно-пропускних пунктів»

Студента групи ГКС-05-д

Харчука Євгена Миколайовича

Керівник роботи доц., к.т.н.

Іванов Ігор Георгійович

Кривий Ріг 2010

Міністерство освіти і науки України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій та управління

Кафедра технічної кібернетики

Спеціальність 7.091402 “Гнучкі комп'ютеризовані системи та робототехніка“

ЗАТВЕРДЖУЮ

Зав. кафедрою доц., к.т.н. Старіков О.М.

" 01 " листопада 2009 р.

ЗАВДАННЯ

на дипломну роботу студента

Харчука Євгена Миколайовича

(прізвище, ім'я, по-батькові)

1. Тема роботи: Розробка гнучкої інтегрованої системи автоматизації діяльності контрольно-пропускних пунктів

затверджена наказом по інституту від " 29 " жовтня 2009 р. № 73С-01

2. Термін здачі студентом закінченої роботи 25.05.10. _

3. Вхідні дані до роботи: Вимоги до кінцевого програмного продукту, вихідні масиви даних, програмна документація.

4. Зміст розрахунково-пояснювальної записки (перелік питань, що підлягають розробці): Постановка завдання; Теоретичні аспекти проектування ГІС із використанням Web технологій і баз даних; Порівняльний аналіз переваг мови програмування PHP і СУБД MySql; Опис функціональних можливостей та програмної реалізації проектованої системи; Економічне обґрунтування доцільності розробки програмного продукту; Охорона праці.

5. Перелік графічного матеріалу (з точними вказівками обов'язкових креслень)

1. Схема структури частини зі сторони користувача

2. Головна сторінка користувача

3. Поля для введення при в'їзді на легковому автомобілі

4. Спливаючі підказки

5. Заповнення списку товарів

6. Панель управління адміністратора

7. Список робітників

8. Архів КПП

6. Консультанти з роботи, з вказівками розділів роботи, що належать до них

Розділ

Консультант

Підпис, дата

Завдання видав

Завдання прийняв

Спеціальна частина

Вдовиченко І.Н.

Програмна частина

Лукашенко Й.М.

Економічна частина

Тимко Є.В.

Охорона праці

Климович Г.Б.

7. Дата видачі завдання 01.11.09 р.

Керівник

Завдання прийняв до виконання

Консультанти:

зі спеціальної частини доц., к.т.н. Лукашенко Й.М.

з програмної частини доц., к.т.н. Вдовиченко І.Н. підпис

з економічної частини доц., к.е.н. Тимко Є.В. підпис

з охорони праці доц., к.т.н. Климович Г.Б. підпис

нормоконтроль ст. викл. Захарова Г.Б. підпис

Завідувач кафедри ТК доц., к.т.н. Старіков О.М. підпис

Календаоный план

№ п/п

Найменування етапів дипломної роботи

Термін виконання етапів роботи

Примітки

1.

Отримання завдання на дипломну роботу

01.11.09

2.

Огляд існуючих рішень

20.02.10

3.

Теоретичне дослідження інструментальних засобів реалізації проекту

13.03.10

4.

Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми)

28.04.10

5.

Оформлення пояснювальної записки

13.05.10

6.

Оформлення графічної документації

18.05.10

7.

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

25.05.10

8.

Представлення дипломної роботи до захисту

01.06.10

Студент-дипломник

(підпис)

Керівник роботи

(підпис)

Анотація

Метою дипломної роботи є розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства. Система була реалізована з використанням мов програмування PHP, JavaScript і MySql.

У дослідницькій частині дипломної роботи був здійснений порівняльний аналіз різних переваг мови програмування PHP і СУБД MySql.

Розділів 6, схем та рисунків 36, таблиць 4, бібліографічних посилань 30, загальний обсяг - 108.

Аннотация

Целью дипломной работы является разработка системы, выполняющей функцию автоматизации процесса пропускного пункта предприятия. Система была реализована с использованием языков программирования PHP, Javascript и СУБД MySql.

В исследовательской части дипломной работы был осуществлен сравнительный анализ различных преимуществ языка программирования PHP и СУБД MySql.

Разделов 6, схем и рисунков 36, таблиц 4, библиографических ссылок 30, общий объем - 108.

The summary

The aim of thesis is to develop a system that performs the function of automating the process checkpoint enterprise. The system was implemented using the programming languages PHP, Javascript and database MySql.

In the research part of the thesis was carried out comparatively complete analysis of various advantages of the PHP programming language and SCDB MySql.

Sections 6, circuits and figures 36, tables 4, bibliographic references 30, total amount - 108.

Зміст

  • Вступ
  • 1. Постановка завдання
    • 1.1 Найменування й галузь застосування
    • 1.2 Підстава для створення
    • 1.3 Характеристика розробленого програмного забезпечення
    • 1.4 Мета й призначення
    • 1.5 Загальні вимоги до розробки
    • 1.6 Джерела розробки
  • 2. Теоретичні аспекти проектування ГІС із використанняс WEB-технологій і баз данних
    • 2.1 Мова гіпертекстової розмітки HTML
    • 2.1.1 Історія розвитку HTML
    • 2.1.2 Узгодження протоколів канального рівня
    • 2.1.3 Принципи гіпертекстової розмітки
    • 2.1.4 Групи тегів НТМ
    • 2.2 Мова Web-програмування PHP
    • 2.2.1 Основні відомості про РНР
    • 2.2.2 Історія PHP
    • 2.2.3 Можливості PHP
    • 2.2.4 PHP-програма
    • 2.3 Система управління базами даних MySql
    • 2.3.1 Комп'ютерні системи зберігання
    • 2.3.2 СУБД
    • 2.3.3 Системи управління файлами
    • 2.3.4 Ієрархічні бази даних
    • 2.3.5 Мережні бази даних
    • 2.3.6 Реляційнні бази даних
    • 2.3.7 Об'єктно-орієнтовані бази даних
    • 2.3.8 Об'єктно-реляційні бази даних
    • 2.3.9 Основні характеристики MySql
    • 2.4. JavaScript
    • 2.4.1 Можливості мови
    • 2.4.2 Семантика і синтаксис
    • 2.4.3 Безпека
  • 3. Порівняльний аналіз переваг мови програування PHP І СУБД MYSQL
    • 3.1 Порівняльний аналіз PHP і ASP. Переваги PHP
    • 3.2 Порівняння MySql і PostgreSql з погляду розроблювача
  • 4. Опис функціональних можливостей та програмної реалізації проектованої системи
    • 4.1 Функціональне призначення та технологічні особливості розробки
    • 4.2 Структура частини зі сторонни користувача
    • 4.3 Установка локального серверу XAMPP
    • 4.4 Опис інтерфейсу програми зі сторони користувача
    • 4.5 Опис інтерфейсу панелі адміністратора
    • 4.6 Програмна реалізація проектованої системи
  • 5. Економічне обгруниування доцільності розробки програмного продукту
    • 5.1 Організаційно-економічна частина
    • 5.2 Розрахунок економічного ефекту по упровадженню програмного продукту
  • 6. Охорона праці
    • 6.1 Аналіз небезпечних і шкідливих виробничих факторів, де
    • 6.2 Заходи щодо нормалізації шкідливих і небезпечних виробничих факторів
    • 6.3 Пожежна безпека
  • Висновки
  • Список літератури

Вступ

Метою дипломної роботи є розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства. В якості мови програмування для реалізації поставленого завдання була обрана мова програмування PHP та JavaScript. Серверною системою було обрано Apache, яка э безкоштовною.

Internet розвивається досить стрімко. Швидко росте кількість видань, присвячених Мережі, що передвіщає широке її поширення навіть у далекі від техніки областях. Internet перетворюється з великої іграшки для інтелектуалів у повноцінне джерело всілякої корисної інформації для всіх. Процеси розвитку глобальних інформаційно-комунікаційних технологій дуже динамічні в цей час, а їхньої можливості для суспільства й економіки ще тільки починають масштабно використатися. Ще два-три роки тому Internet розглядалася переважно як гігантська бібліотека й головне його завдання вважалося допомога в пошуку потрібної інформації й організація доступу до неї. У дійсний "комунікаційний" етап свого розвитку головним завданням мережі Internet є допомога в пошуку бажаних партнерів і надання засобів для організації з ними потрібного виду комунікацій з необхідною інтенсивністю. Результати останніх досліджень показали, що використання Internet-технологій може принести реальну економію й прибуток. Очікується істотний ріст збільшення обсягів Internet-комерції, особливо в таких областях, як подорожі, роздрібна торгівля, фінанси, тематична реклама, а також у комп'ютерному секторі.

У світі накопичена величезна кількість інформації з різних питань. Найчастіше ця інформація зберігається в базах даних (БД). Щоб опублікувати її в Мережі доводилося експортувати БД в HTML-документи, що вимагало більших витрат й ускладнювало пошук інформації. Сьогодні є великий досвід подібних робіт. Практично будь-який користувач Мережі не

раз зіштовхувався з подібними БД. Саме сьогодні проблема Web-інтерфейсу до БД як ніколи актуальна. Для цих цілей сьогодні широко використають мову програмування PHP, створений для генерування HTML-сторінок на Web-сервері й роботи з базами даних. У цей час підтримується переважною більшістю хостінг-провайдерів. Входить в LAMP - розповсюджений набір для створення Web-сайтів (Linux, Apache, MySql, PHP (Python або Perl)).

Головна мета цієї дипломної роботи реалізувати створення ГІС «Автоматизація діяльності контрольно-пропускних пунктів» з використанням Web-технологій. Інформаційна мережа Інтернет дуже швидко набирає темпи, і на сьогоднішній день перебуває буквально у всіх сферах життя людини. А Web технології такі як HTML - є його основою. Але на жаль мова гіпертекстової розмітки HTML дуже вузький по своїй функціональності, і не є мовою програмування. Але в сукупності з мовою програмування PHP та JavaScript (які створені для генерування HTML сторінок на Web-сервері (та зі сторони клієнту) й роботи з базами даних), технологія опису зовнішнього вигляду документа CSS, написаного мовою розмітки, призначена для розширення графічних і функціональних можливостей HTML, і вільною системою управління базами даних MySql, можливості настільки розширюються що дають можливість реалізувати будь-яку програму з будь-якими функціями, що функціонує в глобальній мережі Інтернет.

1. Постановка завдання

1.1 Найменування й галузь застосування

Найменування розробки: гнучка інтегрована система автоматизації діяльності пропускного пункту підприємства. Розроблена система може бути використана в будь-якій фірмі чи підприємстві, де є потреба в автоматизації пропуску співробітників, а також в обліку їх відвідуваності своїх робочих місць.

1.2 Підстава для створення

Підставою для розробки є наказ № 73С-01 від 29 жовтня 2009 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 01.11.09. Закінчення робіт: 25.05.10.

1.3 Характеристика розробленого програмного забезпечення

Гнучка система, що виконує функцію автоматизації діяльності пропускного пункту підприємства була реалізована за допомогою мов програмування PHP та JavaScript.

Склад розробленої системи:

· index.PHP - головний файл, розробленої системи;

· processing.PHP - файл, який містить код обробки вхідних даних;

· style.css - файл таблиці стилів.

1.4 Мета й призначення

Метою дипломної роботи є розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства. Розроблена система призначена для автоматизації та контролю пропуску співробітників підприємства, та надання можливості контролювати цей процес видалено через Internet.

1.5 Загальні вимоги до розробки

Вимоги до програмного забезпечення:

· Робота в середовищі операційних систем Windows 2000/XP/Vista/7, а також операційних системах сімейства Unix;

· Відсутність додаткових вимог до розміщення здійсненних файлів;

· Додаткове програмне забезпечення: будь який Інтернет браузер;

· Мінімальні вимоги до апаратного забезпечення:

IBM-Сумісний комп'ютер, не нижче Pentium III, RAM-256Mb, SVGA-800*600*16bit, вільний простір на жорсткому диску - біля 5 Мб.

1.6 Джерела розробки

Джерелами розробки дипломної роботи є:

· довідкова література;

· наукова література;

· технічна література;

· програмна документація.

2. Теоретичні аспекти проектування ГІС із використанням WEB-технологій і баз даних

2.1 Мова гіпертекстової розмітки HTML

2.1.1 Історія розвитку HTML

В 1989 році Тім Бернерс-Ли запропонував керівництву Європейського Центра ядерних досліджень (CERN) проект розподіленої гіпертекстової системи, що він назвав World Wide Web (WWW), Всесвітня павутина. Спочатку ідея системи полягала в тому, щоб за допомогою гіпертекстової навігаційної системи об'єднати вся безліч інформаційних ресурсів CERN у єдину інформаційну систему. Технологія виявилася настільки вдалої, що дала поштовх до розвитку однієї із самих популярних у світі глобальних інформаційних систем. Практично у свідомості більшості користувачів глобальної комп'ютерної мережі Internet сама ця мережа асоціюється із трьома основними інформаційними технологіями:

· електронна пошта (e-mail);

· файлові архіви FTP;

· World Wide Web.

Причому остання технологія поступово переміщається на перше місце.

Успіх технології World Wide Web визначений двома основними факторами: простотою й використанням протоколів міжсітьового обміну сімейства TCP/IP, (Transmission Control Protocol, протокол управління передачею/Internet Protocol, протокол Internet), які є основою Internet.

Практично всі користувачі Мережі одночасно одержали можливість спробувати себе як творців і читачів інформаційних матеріалів, опублікованих у Всесвітній павутині. Але й популярність самого Internet багато в чому викликана появою World Wide Web, тому що це першаРазмещено на http://www.allbest.ru/

мережна технологія, що надала користувачеві простий сучасний інтерфейс для доступу до різноманітних мережних ресурсів. Простота й зручність застосування привели до росту числа користувачів WWW і привернули увагу комерційних структур. Далі процес росту числа користувачів став лавиноподібним, і так триває дотепер.

При цьому сама технологія на початковому етапі була надзвичайно проста. Справа в тому, що при розробці різних компонентів технології (мови гіпертекстової розмітки HTML (HyperText Markup Language, мова розмітки гіпертексту), протоколу обміну гіпертекстовою інформацією HTTP, специфікації розробки прикладного програмного забезпечення CGI й ін.) передбачалося, що кваліфікація авторів інформаційних ресурсів й їхня оснащеність засобами обчислювальної техніки будуть мінімальними.

Одним з компонентів технології створення розподіленої гіпертекстової системи World Wide Web стала мова гіпертекстової розмітки HTML, розроблений Тімом Бернерсом-Ли на основі стандарту мови розмітки друкованих документів - SGML (Standard Generalised Markup Language, стандартний узагальнена мова розмітки). Деніел В. Коннолі написав для нього Document Type Definition - формальний опис синтаксису HTML у термінах SGML.

Розроблювачі HTML змогли вирішити два завдання:

· надати дизайнерам гіпертекстових баз даних простої засіб створення документів;

· зробити цей засіб досить потужним, щоб відбити, що були на той момент подання про інтерфейс користувача гіпертекстових баз даних.

Перше завдання було вирішено за рахунок вибору тегової моделі опису документа. Така модель широко застосовується в системах підготовки документів для печатки. Прикладом такої системи може служити добре відома мова розмітки наукових документів Te, що був створений Дональдом Батогом і запропонована Американським математичним суспільством, і програми його інтерпретації.

Мова НТМL дозволяє розмічати електронний документ, що відображається на екрані з поліграфічним рівнем оформлення; результуючий документ може містити найрізноманітніші мітки, ілюстрації, аудіо- і відеофрагменти й так далі. До складу мови ввійшли розвинені засоби для створення різних рівнів заголовків, шрифтових виділень, різні списки, таблиці й багато чого іншого.

Другим важливим моментом, що вплинув на долю HTML, стало те, що як основу був обраний звичайний текстовий файл. Вибір був зроблений під впливом наступних факторів:

Такий файл можна створити в будь-якому текстовому редакторі на будь-якій апаратній платформі в середовищі якої завгодно операційної системи;

До моменту розробки HTML існував американський стандарт для розробки мережних інформаційних систем - Z39.50, у якому як одиниця зберігання вказувався простий текстовий файл у кодуванні LATIN1, що відповідає US ASCII.

Таким чином, гіпертекстова база даних у концепції WWW - це набір текстових файлів, розмічених мовою HTML, що визначає форму подання інформації (розмітка) і структуру зв'язків між цими файлами й іншими інформаційними ресурсами (гіпертекстові посилання). Гіпертекстові посилання, що встановлюють зв'язки між текстовими документами, поступово стали поєднувати всілякі інформаційні ресурси, у тому числі звук і відео; у результаті виникло нове поняття - гіпермедіа.

Такий підхід припускає наявність ще одного компонента технології - інтерпретатора мови. В World Wide Web функції інтерпретатора розділені

між Web-сервером гіпертекстової бази даних й інтерфейсом користувача. Сервер, крім доступу до документів й обробки гіпертекстових посилань, забезпечує передпроцесорну обробку документів, у той час як інтерфейс користувача здійснює інтерпретацію конструкцій мови, пов'язаних з поданням інформації.

Перша версія мови (HTML 1.0) була спрямована на подання мови як такого, де опис його можливостей носило скоріше рекомендаційний характер. Друга версія мови (HTML 2.0) фіксувала практику використання його конструкцій. Версія ++ (HTML++) представляла нові можливості, розширюючи набір тегів HTML убік відображення наукової інформації й таблиць, а також поліпшення стилю компонування зображень і тексту. Версія 3.2 змогла впорядкувати всі нововведення й погодити їх з існуючою практикою. HTML 3.2 дозволяє реалізувати використання таблиць, виконання кодів мови Java, обтікання графіки текстом, а також відображення верхніх і нижніх індексів.

Зараз World Wide Web Consortium (W3C) - міжнародна організація, що займається підготовкою й поширенням документації на опис нових версій HTML - уже опублікувала матеріали специфікації HTML 4.01. Крім можливостей розмітки тексту, включення мультимедіа й формування гіпертекстових зв'язків, що вже існували в попередніх версіях HTML, у версію 4.01 включені додаткові засоби роботи з мультимедіа, мови програмування, таблиці стилів, спрощені засоби печатки зображень і документів. Для управління сценаріями перегляду сторінок Website (гіпертекстової бази даних, виконаної в технології World Wide Web) можна використати мови програмування цих сценаріїв, наприклад, JavaScript, Java й VBScript.

Ускладнення HTML і поява мов програмування привело до того, що розробка Web-вузлів стала справою високопрофесійної, потребуючої спеціалізації по напрямках діяльності й постійного вивчення нових Web-технологій. Але можливості Internet дозволяють користувачам, що володіють основами HTML, створювати й розміщати власні Web-вузли без більших витрат.

2.1.2 Узгодження протоколів канального рівня

Сучасні обчислювальні мережі часто будуються з використанням декількох різних базових технологій - Ethernet, Token Ring або FDDI. Така неоднорідність виникає або при об'єднанні мереж, що вже існували раніше, використовують в своїх транспортних підсистемах різні протоколи канального рівня, або при переході до нових технологій, таких, як Fast Ethernet або 100VG-AnyLAN.

Саме для утворення єдиної транспортної системи, об'єднуючої декілька мереж з різними принципами передачі інформації між кінцевими вузлами, і служить мережевий рівень. Коли дві або більше мережі організовують спільну транспортну службу, то такий режим взаємодії зазвичай називають міжмережевою взаємодією (internetworking). Для позначення складеної мережі в англомовній літературі часто також використовується термін інтермережа (internetwork або internet).

Створення складної структурованої мережі, інтегруючої різні базові технології, може здійснюватися і засобами канального рівня: для цього можуть бути використані деякі типи мостів і комутаторів. Проте можливістю трансляції протоколів канального рівня володіють далеко не всі типи мостів і комутаторів, до того ж можливості ці обмежені. Зокрема, в об'єднуваних мережах повинні збігатися максимальні розміри полів даних в кадрах, оскільки канальні протоколи, як правило, не підтримують функції фрагментації пакетів.

2.1.3 Принципи гіпертекстової розмітки

HTML є описовою мовою розмітки документів, у ньому використаються покажчики розмітки (теги). Тегова модель описує документ як сукупність контейнерів, кожний з яких починається й закінчується тегами, тобто документ НТМ являє собою не що інше, як звичайний АSсII-файл, з доданими в нього керуючими НтмL-кодами (тегами). Оскільки HTML відбувся від SGML, у ньому дозволено використати тільки три керуючі символу: горизонтальну табуляцію, переклад каретки й переклад рядка. Це полегшує взаємодію з різними операційними системами.

Теги НтмL-документів здебільшого прості й зрозумілі, тому що вони утворені за допомогою загальновживаних слів англійської мови, зрозумілих скорочень і позначень. НтмL-тег складається з імені, за яким може випливати необов'язковий список атрибутів тегу. Текст тегу полягає в кутові дужки ("<" й ">"). Найпростіший варіант тегу - ім'я, укладене в кутові дужки, наприклад, <HEAD> або <I>. Для ряду тегів характерна наявність атрибутів, які можуть мати конкретні значення, установлювані автором для зміни функції тегу.

Наприклад, при описі таблиці відкриваючий тег з атрибутами може виглядати так:

<TABLE WIDTH=570 ALIGN=center CELLPADDING=10

CELLSPACING=2 BORDER=16>

Цей запис означає наступне: таблиця шириною 570 пикселів, вирівняна по центрі, поле між рамкою й умістом осередків 10 пикселів, поле рамки 2 пиксела, ширина бордюру 16 пикселів.

Атрибути тегу випливають за ім'ям і відокремлюються друг від друга одним або декількома знаками табуляції, пробілами або символами повернення до початку рядка. Порядок запису атрибутів у тегу значення не має. Значення атрибута, якщо таке є, треба за знаком рівності, що коштує після імені атрибута. Якщо значення атрибута - одне слово або число, то його можна просто вказати після знака рівності, не виділяючи додатково. Всі інші значення необхідно містити в одинарні або подвійні лапки, особливо якщо вони містять трохи розділених пробілами слів. Довжина значення атрибута обмежена 1024 символами. Регістр символів в іменах тегів й атрибутів не враховується, чого не можна сказати про значення атрибутів. Наприклад, особливо важливо використати потрібний регістр при уведенні URL (Uniform Resource Locator, уніфікований покажчик ресурсу) інших документів як значення атрибута HREF.

Найчастіше елементи розмітки HTML або HTML-контейнери складаються з початкового й кінцевого компонентів, між якими розміщаються текст й інші елементи документа. Ім'я кінцевого тегу ідентично імені початкового, але перед ім'ям кінцевого тегу ставиться коса риса (/) (наприклад, для тегу стилю шрифту - курсив <I> закриваюча пара являє собою </I>, для тегу заголовка <ТIТLЕ> закриваючою парою буде </ТIТLЕ>). Кінцеві теги ніколи не містять атрибутів. За своїм значенням теги близькі до поняття дужок "begin/end" в універсальних мовах програмування, які задають області дії імен локальних змінних і т.п. Теги визначають область дії правил інтерпретації текстових документів.

При використанні вкладених елементів розмітки в документі слід дотримуватися особливої акуратності. Вкладені теги потрібно закривати, починаючи з останнього. Деякі елементи розмітки не мають кінцевого компонента, оскільки є автономними елементами. Наприклад, тег зображення <IMG>, що служить для вставки в документ графічного зображення, кінцевого компонента не вимагає. До автономних елементів розмітки також ставляться розрив рядка (<BR>), горизонтальна лінійка (<HR>) і теги, що містять таку інформацію про документ, що не впливає на його відображуваний уміст, наприклад, теги <META> й <BASE>.

У деяких випадках кінцеві теги в документі можна опускати. Більшість браузерів улаштована так, що при обробці тексту документа початковий тег сприймається як кінцевий тег попередні. Найпоширеніший тег такого типу - тег абзацу <Р>. Оскільки він використається в документі дуже часто, його звичайно ставлять тільки на початку кожного абзацу. Коли один абзац закінчується, що випливає тег <Р> сигналізує браузеру про те, що потрібно завершити даний абзац і почати наступний. Більшість авторів тегом кінця абзацу не користуються.

Є й інші кінцеві теги, без яких браузери відмінно працюють, наприклад, кінцевий тег </HTML>. Проте, рекомендується включати по можливості більше кінцевих тегів, щоб уникнути плутанини й помилок при відтворенні документа.

Для стислості й образності ми будемо в ряді випадків замість словосполучення "елемент розмітки" застосовувати термін "контейнер".

Загальна схема побудови контейнера у форматі HTML може бути записана в наступному виді:

"контейнер"=<"ім'я тегу" "список атрибутів">зміст контейнера</"ім'я тегу">

Слід зазначити, що в літературі крім терміна "контейнер" ще використається й термін "елемент". Варто бути уважним, щоб не плутати контейнер (наприклад, BODY) і тег (BODY), використовуваний при формуванні контейнера.

Крім тегів, елементами HTML є CER (Character Entity Reference), вони призначені для подання спеціальних символів у документі HTML, які можуть бути невірно оброблені браузером. Припустимо, створюється документ HTML, мова в якому йде про елементи даної мови. Якщо вказати ім'я тегу <BODY> просто в документі, браузер може сприйняти його як безпосередньо старт-тег. Для виводу таких символів і використається CER.

Наприклад, щоб представити символ "<" у документі HTML, потрібно замінити його на &lt;, а символ ">" - на &gt;. Тобто, якщо вказати в тексті HTML рядок &lt;BODY&gt;, вона буде виглядати на екрані як текст <BODY>.

Може виникнути питання: як бути із символами "</>", "&" і зі спеціальними символами, типу знака наголосу? Можна виводити їх, використовуючи відповідні CER, наприклад для "&" це буде &amp;, і т.д.

CER легко виявити, якщо подивитися на структуру будь-якого документа HTML, оскільки кожний з них починається з амперсанду "&". На відміну від найменувань тегів HTML, найменування CER чутливі до регістра символів. Також найменування CER можуть задаватися не у вигляді імені, а за допомогою тризначних кодів символів у вигляді &#nnn;.

2.1.4 Групи тегів НТМ

Всі теги НТМ по їхньому призначенню й області дії можна розділити на наступні основні групи:

· визначальну структуру документа;

· оформлення блоків гіпертексту (параграфи, списки, таблиці, картинки);

· гіпертекстові посилання й закладки;

· форми для організації діалогу;

· виклик програм.

Структура гіпертекстової мережі задається гіпертекстовими посиланнями. Гіпертекстове посилання - це адреса іншого HTML-документа або інформаційного ресурсу Internet, що тематично, логічно або яким-небудь іншим способом пов'язаний з документом, у якому посилання визначене.

Природно, за таких умов дуже важлива схема адресації всіх наявних інформаційних ресурсів.

Реальний механізм інтерпретації ідентифікатора ресурсу, що опирається на URI (Uniform Resource Identifier, універсальний ідентифікатор ресурсу), називається URL, і користувачі WWW мають справу саме з ним.

Типовим прикладом використання такого запису можна вважати

наступний приклад:

Цей текст містить:

<A HREF="http://www.intuit.ru/help/">гіпертекстове посилання</A>

У наведеному вище прикладі тег "A", що в HTML називають якорем (anchor), використає атрибут HREF, що позначає гіпертекстове посилання (Hypertext Reference), для запису цього посилання у формі URL. Дане посилання вказує на документ із ім'ям "index.html" у каталозі "help" на сервері "www.intuit.ru", доступ до якого здійснюється по протоколі HTTP.

Гіпертекстові посилання в HTML діляться на два класи: контекстні гіпертекстові посилання й загальні. Контекстні посилання вмонтовані в тіло документа, як це було продемонстровано в попередньому прикладі, у те час як загальні посилання зв'язані з усім документом у цілому й можуть використатися при перегляді будь-якого фрагмента документа. Обидва класи посилань споконвічно присутні в стандарті мови, однак перший час найбільшою популярністю користувалися контекстні посилання. Ця популярність привела до того, що механізм використання загальних посилань практично повністю "атрофувався". У даному прикладі ми уклали URL у подвійні лапки. Насправді, це необов'язково. Лапки (подвійні або одинарні) застосовуються тільки тоді, коли усередині значення URL з'являються символи-роздільники (пробіл, табуляція, не відображувані символи). Але такого сорту URL варто всіляко уникати.

Структура HTML-документа дозволяє задіяти вкладені друг у друга контейнери. Властиво, сам документ - це один великий контейнер, що починається з тегу <HTML> і закінчується тегом </HTML>.

На закінчення відзначимо, що при підготовці документів HTML використається ідентифікатор тексту DTD (Document Type Definition, визначення типу документа) як перший рядок. Це дозволяє браузеру ідентифікувати документ як відповідному стандарту HTML.

2.2 Мова Web-програмування PHP

2.2.1 Основні відомості про РНР

Споконвічно абревіатура РПР означала Preprocessor of Home Pages - препроцесор домашніх сторінок. Це мова впроваджуваних в HTML-сторінки

сценаріїв, що виконують на сервері. По більшій частині його синтаксис запозичений з таких мов, як С, Perl, Java, і при цьому додана маса можливостей, яких цим мовам бракує. Простіше говорячи, синтаксис РНР - це розумна альтернатива й строгості С, і «безмежності» Perl.

РНР наділений практично повним набором функціональності, про яку (до появи РНР) міг тільки мріяти Web-програміст. Його ціль - дозволити максимально швидко створювати динамічно генерованості Web-сторінки. З повною підставою можна заявити, що вивчення й використання РНР буде вигідно як починаючим, так і професійним програмістам.

Основними конкурентами РНР є технології JSP (Java Server Pages й Java Scriptlets), ASP (Active Server Pages), Perl, SSI (Server Side Includes), Cold Fusion Server Pages. Розглянемо ті недоліки, які властиві зазначеним технологіям. JSP - досить складний для вивчення й використання мова. ASP, заснований на синтаксисі VBScript (Visual Basic), має всього кілька десятків власних функцій і тому змушено використати Сомів-об'єкти; крім того, він орієнтований винятково на роботу під Windows. Perl - мова головоломний, і його вільності утрудняють його розуміння. SSI дозволяє всього лише компонувати HTML-сторінку з декількох файлів. CF - комерційний продукт, що є його основним недоліком.

Основні достоїнства РНР: безкоштовне; постійно вдосконалюється; працює на UNIX й Windows платформах; допускає роботу з більшістю СУБД; має широкий набір функцій (більше 3 тис.); допускає об'єктно-орієнтоване програмування; здатне використати протоколи HTTP, FTP, SNMP, NNTP, POPS, net sockets 11 інших; дозволяє виконувати всі операції, що й перераховані його конкуренти, і навіть працювати з файлами графіки. Можна також запускати PHP-скрипти як інтерпретовані файли й компілювати, виконуючи програми, що (у тому числі з підтримкою графічного інтерфейсу GTK).

Якщо ви виявите, що РНР не здатне на щось (або працює не так, як вам хотілося б), ніхто не буде перешкоджати вам вносити у вихідний код РНР (написаний на З) бажані зміни. РНР є програмним продуктом з відкритим вихідним кодом, і внесення в нього вдосконалень і доповнень шляхом створення власних модулів розширення завжди вітається.

2.2.2 Історія PHP

Мова PHP був розроблений як інструмент для рішення чисто практичних завдань. Його творець, Расмус Лердорф, хотів знати, скільки чоловік читають його online-резюме, і написав для цього простеньку CGI-оболонку мовою Perl, тобто це був набір Perl-скриптів, призначених винятково для певної мети - збору статистики відвідувань.

Для довідки. CGI (Common Gateway Interface - загальний інтерфейс шлюзів) є стандартом, що призначений для створення серверних додатків, що працюють по протоколі HTTP. Такі додатки (їх називають шлюзами або CGI-програмами) запускаються сервером у режимі реального часу. Сервер передає запити користувача CGI-програмі, що їх обробляє й повертає результат своєї роботи на екран користувача. Таким чином, відвідувач одержує динамічну інформацію, що може змінюватися в результаті впливу різних факторів. Сам шлюз (скрипт CGI) може бути написаний на різних мовах програмування - C/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python й ін.

Незабаром з'ясувалося, що оболонка має невелику продуктивність, і довелося переписати її заново, але вже мовою С. Після цього вихідні коди були виложені на загальні огляди для виправлення помилок і доповнення. Користувачі сервера, де розташовувався сайт із першою версією PHP, зацікавилися інструментом, з'явилися бажаючі його використати. Так що незабаром PHP перетворився в самостійний проект, і на початку 1995 року вийшла перша відома версія продукту, що називалася Personal Home Page

Tools (засобу для персональної домашньої сторінки). Засоби ці були більш ніж скромними: аналізатор коду, що розуміє всього лише кілька спеціальних команд, і набір утиліт, корисних для створення гостьової книги, лічильника відвідувань, чату й т.п.

До середини 1995 року після ґрунтовної переробки з'явилася друга версія продукту, названа PHP/FI (Personal Home Page / Forms Interpreter - персональна домашня сторінка/ інтерпретатор форм). Вона включала набір базових можливостей сьогоднішнього PHP, можливість автоматично обробляти html-форми й вбудовуватися в HTML-коди. Синтаксис PHP/FI сильно нагадував синтаксис Perl, але був більше простим.

В 1997 вийшла друга версія C-реалізації PHP - PHP/FI 2.0. До того моменту PHP використали вже кілька тисяч чоловік по усім світі, приблизно з 50 тис. доменів, що становило близько 1% усього числа доменів Internet. Число розроблювачів PHP збільшилося до кількох людей, але, незважаючи на це, PHP/FI 2.0 усе ще залишався великим проектом однієї людини. Офіційно PHP/FI 2.0 вийшов тільки в листопаді 1997 року, проіснувавши до цього в основному в бета-версіях. Незабаром після виходу його замінили альфа-версії PHP 3.0.

PHP 3.0 була першою версією, що нагадує PHP, яким ми знаємо його сьогодні. Він дуже сильно відрізнявся від PHP/FI 2.0 і з'явився знову ж як інструмент для рішення конкретного прикладного завдання. Його творці, Энди Гутманс (Andi Gutmans) і Зів Сураскі (Zeev Suraski), в 1997 році переписали заново код PHP/FI, оскільки він здався їм непридатним для розробки додатка електронної комерції, над яким вони працювали. Для того щоб одержати допомогу в реалізації проекту від розроблювачів PHP/FI, Гутманс і Сураскі вирішили об'єднатися з ними й оголосити PHP3 офіційним спадкоємцем PHP/FI. Після об'єднання розробка PHP/FI була повністю припинена.

Однієї із сильних сторін PHP 3.0 була можливість розширення ядра. Саме властивість розширюваності PHP 3.0 привернуло увагу безлічі розроблювачів, що бажають додати свій модуль розширення. Крім того, PHP 3.0 надавала широкі можливості для взаємодії з базами даних, різними протоколами й API. Немаловажним кроком до успіхів виявилася розробка нового, набагато могутнішого й повного синтаксису з підтримкою ООП. З моменту появи PHP 3.0 змінилася не тільки функціональність і внутрішній пристрій мови, але і його назва. В абревіатурі PHP більше не було згадування про персональне використання, PHP стало скороченням (рекурсивним акронімом) від PHP: Hypertext Preprocessor, що значить «PHP: препроцесор гіпертексту».

До кінця 1998 року число користувачів PHP зросло до десятків тисяч. Сотні тисяч Web-сайтів повідомляли про те, що вони працюють із використанням цієї мови. Майже на 10% серверів Internet був установлений PHP 3.0.

Офіційно PHP 3.0 вийшов у червні 1998 року, після 9 місяців публічного тестування. А вже до зими Энди Гутманс і Зів Сураскі почали переробку ядра PHP. У їхні завдання входило збільшення продуктивності роботи складних додатків і поліпшення модульованості коду, що лежить в основі PHP.

Нове ядро було названо «Zend Engine» (від імен творців: Zeev й Andi) і вперше представлено в середині 1999 року. PHP 4.0, заснований на цьому ядрі й набір, що приніс із собою, додаткових функцій, офіційно вийшов у травні 2000 року, майже через два роки після свого попередника, PHP 3.0. Крім поліпшення продуктивності, PHP 4.0 мав ще кілька ключових нововведень, таких як підтримка сесій, буферизація виводу, більше безпечні способи обробки інформації, що вводить користувачем, і кілька нових язикових конструкцій.

У цей час ведуться роботи з поліпшення Zend Engine і впровадженню нововведень в PHP 5.0, перші бета-версії якого вже вийшли у світло. Одне з істотних змін відбуло в об'єктній моделі мови, її ґрунтовно підлатали й додали багато нових можливостей.

Сьогодні PHP використається сотнями тисяч розроблювачів. Кілька мільйонів сайтів написані на PHP, що становить більше 20% доменів Internet.

2.2.3 Можливості PHP

«PHP може всі», - заявляють його творці. У першу чергу PHP використається для створення скриптів, що працюють на стороні сервера, для цього його, властиво, і придумали. PHP здатний вирішувати ті ж завдання, що й будь-які інші CGI-скрипти, у тому числі обробляти дані html-форм, динамічно генерувати html сторінки й т.п. Але є й інші області, де може використатися PHP. Усього виділяють три основні області застосування PHP.

Перша область, як уже говорилося, - це створення додатків (скриптів), які виконуються на стороні сервера. PHP найбільше широко використається саме для створення такого роду скриптів. Для того щоб працювати таким чином, знадобиться PHP-парсер (тобто оброблювач PHP-скриптів) і Web-сервер для обробки скрипта, браузер для перегляду результатів роботи скрипту, ну, і, звичайно, який-небудь текстовий редактор для написання самого PHP-коду. Парсер PHP поширюється у вигляді CGI-програми або серверного модуля. Як установити його й Web-сервер на свій комп'ютер, ми розглянемо небагато пізніше. У цьому курсі ми будемо обговорювати, як правило, створення саме серверних додатків, як приклад використання мови PHP.

Друга область - це створення скриптів, що виконуються в командному рядку. Тобто за допомогою PHP можна створювати такі скрипти, які будуть виконуватися, поза залежністю від Web-сервера й браузера, на конкретній машині. Для такої роботи буде потрібно лише парсер PHP (у цьому випадку його називають інтерпретатором командного рядка (cli, command line interpreter)). Цей спосіб роботи підходить, наприклад, для скриптів, які повинні виконуватися регулярно за допомогою різних планувальників завдань або для рішення завдань простої обробки тексту.

І остання область - це створення GUI-додатків (графічних інтерфейсів), що виконуються на стороні клієнта. У принципі це не найкращий спосіб використати PHP, особливо для початківців, але якщо ви вже досконально вивчили PHP, те такі можливості мови можуть виявитися досить корисні. Для застосування PHP у цій області буде потрібно спеціальний інструмент - PHP-GTK, що є розширенням PHP.

Отже, область застосування PHP досить велика й різноманітна. Проте існує безліч інших мов програмування, здатних вирішувати схожі завдання. Чому варто вивчати PHP? Що це нам дає? По-перше, PHP дуже простий у вивченні. Досить ознайомитися лише з основними правилами синтаксису й принципами його роботи, і можна починати писати власні програми, причому братися за такі завдання, рішення яких на іншій мові вимагало б серйозної підготовки.

По-друге, PHP підтримується майже на всіх відомих платформах, майже у всіх операційних системах і на самих різних серверах. Це теж дуже важливо. Навряд чи комусь захочеться переходити, наприклад, від роботи під Windows до роботи під Linux або від сервера IIS до сервера Apache тільки для того, щоб вивчити ще одна мова програмування.

В PHP сполучаються дві самі популярні парадигми програмування - об'єктна й процедурна. В PHP4 більш повно підтримується процедурне програмування, але їсти можливість писати програми й в об'єктному стилі. Уже в перших пробних версіях PHP5 більшість недоліків у реалізації об'єктно-орієнтованої моделі мови, що існують в PHP4, усунуті. Таким чином, можна вибрати найбільш звичний стиль роботи.

Якщо говорити про можливості сьогоднішнього PHP, то вони виходять далеко за рамки тих, що були реалізовані в його перших версіях. За допомогою PHP можна створювати зображення, PDF-файли, флеш-ролики, у нього включена підтримка великої кількості сучасних баз даних, убудовані функції для роботи з текстовими даними будь-яких форматів, включаючи XML, і функції для роботи з файловою системою. PHP підтримує взаємодія з різними сервісами за допомогою відповідних протоколів, таких як протокол управління доступом до директорій LDAP, протокол роботи з мережним устаткуванням SNMP, протоколи передачі повідомлень IMAP, NNTP й POP3, протокол передачі гіпертексту HTTP і т.д.

Звертаючи увагу на взаємодію між різними мовами, варто згадати про підтримці об'єктів Java і можливості їхнього використання як об'єкти PHP. Для доступу до вилучених об'єктів можна використати розширення CORBA.

Для роботи з текстовою інформацією PHP успадкував (з невеликими змінами) механізми роботи з регулярними вираженнями з мови Perl й UNIX-систем. Для обробки XML-документів можна використати як стандарти DOM й SAX, так й API для XSLT-трансформацій.

Для створення додатків електронної комерції існує ряд корисних функцій, таких як функції здійснення платежів Cybercash, CyberMUT, VeriSign Payflow Pro й CCVS.

2.2.4 PHP-програма

Зараз ми хочемо більш докладно розглянути про те, що являє собою PHP-програма й чим вона відрізняється від програм на мовах C, Perl й JavaScript. Розглянемо приклад:

<html>

<head>

<title>Приклад</title>

</head>

<body>

<?PHP

echo "<p>Привіт, я - скрипт PHP!</p>";

?>

</body>

</html>

Це простий HTML-файл, у який убудований за допомогою спеціальних тегів код, написаний мовою PHP.

Як ми вже відзначали вище, PHP схожі на C й Perl. Однак наведена тут програма сильно відрізняється від аналогічних за змістом програм на мовах C й Perl. Тут не потрібно писати купу спеціальних команд для виводу HTML. Пишеться безпосередньо HTML-скрипт, у який можна вбудовувати PHP-код, що здійснює які-небудь дії (наприклад, що виводить текст на екран, як у нашому прикладі). Недоліком PHP у порівнянні з C й Perl, незважаючи на всі зусилля розроблювачів, усе ще є недостатня швидкість виконання складних скриптів.

PHP-скрипти - це програми, які виконуються й обробляються сервером. Так що порівнювати його зі скриптовими мовами типу JavaScript неможливо, тому що написані на них скрипти виконуються на машині клієнта. У чому відмінність скриптів, виконуваних на сервері й на клієнті? Якщо скрипт обробляється сервером, клієнтові посилають тільки результати роботи скрипту. Наприклад, якщо на сервері виконувався скрипт, подібний наведеному вище, клієнт одержить згенеровану HTML-сторінку виду:

<html>

<head>

<title>Приклад</title>

</head>

<body>

<p>Привіт, я - скрипт PHP!</p>

</body>

</html>

У цьому випадку клієнт не знає, який код виконується. Можна навіть зконфігурувати свій сервер таким чином, щоб HTML-файли оброблялися процесором PHP, так що клієнти навіть не зможуть довідатися, чи одержують вони звичайний HTML-файл або результат виконання скрипту. Якщо ж скрипт обробляється клієнтом (наприклад, це програма мовою JavaScript), то клієнт одержує сторінку, що містить код скрипту.

Ми відзначали вище, що PHP-скрипти вбудовуються в HTML-код. Виникає питання, яким образом? Є кілька способів. Один з них наведений у найпершому прикладі - за допомогою відкриваючого тегу <?PHP і закриваючого тегу ?>. Такого виду спеціальні теги дозволяють перемикатися між режимами HTML й PHP. Цей синтаксис найбільш кращий, оскільки дозволяє задіяти PHP в XML-сумісних програмах (наприклад, написаних мовою XHTML), але проте можна використати наступні альтернативні варіанти (команда echo "Some text"; виводить на екран текст «Some text».):

<? echo "Це найпростіша інструкція для обробки PHP"; ?>

<script language="PHP">

echo "Деякі редактори (FrontPage) предпочитають робити так";

</script>

< % echo "Можна використати теги у стилі ASP "; %>

Перший із цих способів не завжди доступний. Щоб ним користуватися, потрібно включити короткі теги або за допомогою функції short_tags() для PHP 3, або включивши установку short_open_tag у конфігураційному файлі PHP, або скомпілювавши PHP з параметром -іenable-short-tags. Навіть якщо це включено за замовчуванням в PHP.ini-dist, використання коротких тегів не рекомендується. Другий спосіб аналогічний вставці, наприклад, JavaScript-коду й використає для цього відповідний html тег. Тому використати його можна завжди, але це робиться рідко через його громіздкість. Третій спосіб можна застосувати, тільки якщо теги в стилі ASP були включені, використовуючи конфігураційну установку asp_tags.

Коли PHP обробляє файл, він просто передає його текст, поки не зустріне один з перерахованих спеціальних тегів, що повідомляє йому про необхідність почати інтерпретацію тексту як коду PHP. Потім він виконує весь знайдений код до закриваючого тегу, що говорить інтерпретаторові, що далі знову йде просто текст. Цей механізм дозволяє впроваджувати PHP-код в HTML - усе за межами тегів PHP залишається незмінним, тоді як усередині інтерпретується як код. Помітимо також, що PHP-файл не схожий на CGI-скрипт. PHP файл не повинен бути здійсненним або ще яким-небудь образом позначеним.

Для того щоб відправити PHP-файл на обробку серверу, потрібно в рядку браузера набрати шлях до цього файлу на сервері. Скрипти PHP повинні розташовуватися там, де дозволений доступ через www, наприклад там же, де лежить домашня сторінка. Якщо PHP-файл лежить на локальній машині, то його можна обробити за допомогою інтерпретатора командного рядка.

2.3. Система управління базами даних MySql

2.3.1 Комп'ютерні системи зберігання

У наші дні люди часто говорять про бази даних. Комп'ютери становлять невід'ємну частину сучасного суспільства, тому нерідко можна почути фрази начебто "Я пошукаю твій запис у базі даних". І мова йде не про більші ящики, де зберігаються купи папок, а про комп'ютерні системи, призначених для прискореного пошуку інформації.

Комп'ютери так міцно ввійшли в наше життя, тому що їх можна запрограмувати на виконання стомлюючих, повторюваних операцій і рішення завдань, які нам самим було б не під силу вирішити без їхньої обчислювальної швидкості і ємності інформаційних носіїв. Приміщення інформації на папір і розробка схеми зберігання паперів у папках і картотеках - досить чітко відпрацьований процес, але багато хто зітхнули з полегшенням, коли завдання звелося до переміщення електронних документів у папки на жорсткому диску.

Однієї з функцій баз даних є впорядкування й індексація інформації. Як й у бібліотечній картотеці, не потрібно переглядати половину архіву, щоб знайти потрібний запис. Усе виконується набагато швидше.

Не всі бази даних створюються на основі тих самих принципів, але традиційно в них застосовується ідея організації даних у вигляді записів. Кожен запис має фіксований набір полів. Записи містяться в таблиці, а сукупність таблиць формує базу даних.

Для роботи з базою даних необхідна СУБД (система управління базами даних), тобто програма, що бере на себе всі турботи, пов'язані з доступом до даних. Вона містить команди, що дозволяють створювати таблиці, вставляти в них запису, шукати й навіть видаляти записи.

MySql - це швидка, надійна, відкрито розповсюджувана СУБД. MySql, як і багато інші СУБД, функціонує по моделі "клієнт/сервер". Під цим мається на увазі мережна архітектура, у якій комп'ютери грають ролі клієнтів або серверів. На малюнку зображена схема передачі інформації між комп'ютером клієнта й жорстким диском сервера.

Рис. 2.1 Головне вікно середовища розробки

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

Така логічна модель даних. На жорсткому диску вся база даних може перебувати в одному файлі. В MySql для кожної бази даних створюється окремий каталог, а кожній таблиці відповідають три файли. В інших СУБД можуть використатися інші принципи фізичного зберігання даних.

Рядка таблиць можуть бути зв'язані один з одним із трьох способів. Найпростіше відношення - "один до одному". У цьому випадку рядок першої таблиці відповідає одному єдиному рядку другої таблиці. На діаграмах таке відношення виражається записом 1:1.

Відношення "один до багатьох" означає ситуацію, коли рядок однієї таблиці відповідає декільком рядкам іншої таблиці. Це найпоширеніший тип відносин. На діаграмах він виражається записом 1:N.

Нарешті, при відношенні "багато до багатьох" рядка першої таблиці можуть бути пов'язані з довільним числом рядків у другій таблиці. Таке відношення записується як N:M.

2.3.2 СУБД

Програміст, що працює з базою даних, не піклується про те, як ці дані зберігаються, і додатка, взаємодіючі із СУБД, не знають про спосіб запису даних на диск. "Зовні" видний лише логічний образ даних, і це дозволяє міняти код СУБД, не торкаючись коду самих додатків.

Подібна обробка даних здійснюється за допомогою мови четвертого покоління (4GL), що підтримує запити, записувані й виконувані негайно. Дані швидко втрачають свою актуальність, тому швидкість доступу до них важлива. Крім того, програміст повинен мати можливість формулювати нові запити. Вони називаються нерегламентованими (ad hoc), оскільки не зберігаються в самій базі даних і служать вузькоспеціалізованим цілям.

Мова четвертого покоління дозволяє створювати схеми - точні визначення даних і відносин між ними. Схема зберігається як частина бази даних і може бути змінена без шкоди для даних

Схема призначена для контролю цілісності даних. Якщо, приміром, оголошено, що поле містить цілочислені значення, то СУБД відмовиться записувати в нього числа із плаваючої коми або рядка. Відносини між записами теж чітко контролюються, і неузгоджені дані не допускаються. Операції можна групувати в транзакції, виконувані за принципом "всі або нічого".


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

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