Системи доступу до БД на базі Internet-технологій

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    27,04 Кб
  • Опубликовано:
    2013-10-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Системи доступу до БД на базі Internet-технологій














Системи доступу до БД на базі Internet-технологій

ВСТУП

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

Об'єкт досліджень - web-інтерфейс доступу до бази даних. Дослідити засоби організації доступу до інформації. Методами дослідження є розробка системи на базі Internet-технологій. Розроблено систему доступу до БД. Досліджено зв'язок між платформами розробленої системи і стандартними засобами доступу. Отримано результати у вигляді функціонуючої системи. Сферою використання є різного роду електронна коммерція.

1.АНАЛІЗ СТАНУ ПИТАННЯ І ПОСТАНОВКА ЗАВДАННЯ

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

Успіх реалізації моделі електронної торгівлі в Мережі визначається трьома складовими:

. Вибір вірної технологічної платформи

. Наявність конкурентоспроможного продукту

. Наявність необхідної інфраструктури та бізнес-процесів

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

1.1 Переваги електронної комерції

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

Є безліч переваг, ось лише деякі з них:

·значно збільшується оперативність отримання інформації, особливо при міжнародних операціях;

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

·значно знижуються витрати, пов'язані з обміном інформацією за рахунок використання більш дешевих засобів комунікацій;

·використання інтернет-технологій електронної комерції дозволяє компанії стати більш відкритою по відношенню до клієнтів;

·дозволяє легко і швидко інформувати партнерів і клієнтів про продукти і послуги;

·дозволяє створювати альтернативні канали продажів, наприклад, через електронний магазин на корпоративному сайті.

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

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

Необхідно дослідити методи і платформу реалізації, визначитися з використанням СКБД, аргументувати вибір.

Для досягнення поставленої мети потрібно вирішити такі завдання:

·реалізація каталогу товарів

·реалізація можливості замовлення й купівлі товару через Internet

·реалізація WEB-інтерфейсу для доступу до інформації про товари

·перегляд поточних цін на товари

·вибрати sql-сервер

2. використовувані технології

.1 Мова WEB-сценаріїв PHP

PHP (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> PHP:HypertextPreprocessor - PHP: гіпертекстовий <https://uk.wikipedia.org/wiki/%D0%93%D1%96%D0%BF%D0%B5%D1%80%D1%82%D0%B5%D0%BA%D1%81%D1%82> препроцесор <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80>) - скриптова <https://uk.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>мова програмування <https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>, була створена для генерації HTML <https://uk.wikipedia.org/wiki/HTML>-сторінок на стороні веб-сервера <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java <https://uk.wikipedia.org/wiki/Java>, .NET <https://uk.wikipedia.org/wiki/.NET>, Perl <https://uk.wikipedia.org/wiki/Perl>, Python <https://uk.wikipedia.org/wiki/Python>, Ruby <https://uk.wikipedia.org/wiki/Ruby>). PHP підтримується переважною більшістюхостинг <https://uk.wikipedia.org/wiki/%D0%A5%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3>-провайдерів <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80>. PHP - проект відкритого програмного забезпечення <https://uk.wikipedia.org/wiki/%D0%92%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%B5_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F>.

2.1.1 Історія створення та розвитку PHP

Історія PHP починається з 1995 <https://uk.wikipedia.org/wiki/1995> року, коли Расмус Лердорф (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Rasmus Lerdorf) створив простий застосунок <https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA> мовою Perl, що аналізував відвідування користувачами його резюме на веб-сайті. Потім, коли цим застосунком <https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA> вже користувалися кілька чоловік, а число охочих одержати його постійно збільшувалося, Лердорф назвав своє творіння Особисті інструменти домашньої сторінки англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Personal Home Page Tools версія 1 і виставив для вільного завантаження. З цієї миті почався небувалий зліт популярності PHP.

Як це завжди буває, терміново було потрібне доопрацювання і нові доповнення. Для їхньої реалізації Расмус створює нову версію пакету, тепер уже написану на <https://uk.wikipedia.org/wiki/%D0%A1>. Отриманий таким чином інструмент набуває робочої назви PHP/FI <https://uk.wikipedia.org/w/index.php?title=PHP/FI&action=edit&redlink=1> Персональна Домашня сторінка / Інтерпретатор Форм <https://uk.wikipedia.org/w/index.php?title=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0_%D0%94%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0_/_%D0%86%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80_%D0%A4%D0%BE%D1%80%D0%BC&action=edit&redlink=1> (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Personal Home Page / Forms Interpreter - ), надалі він також буде відомий під назвою PHP 2 <https://uk.wikipedia.org/w/index.php?title=PHP_2&action=edit&redlink=1>. Ця версія вже більшою мірою схожа на сьогоднішній PHP. Вона мала синтаксис і спосіб іменування змінних в стилі мови Perl, можливість вбудовування PHP операторів в html <https://uk.wikipedia.org/wiki/Html>-код сторінки, автоматичну інтерпретацію форм, інтеграцію <https://uk.wikipedia.org/wiki/%D0%86%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D1%8F> з базами даних. При цьому все працювало досить швидко, оскільки PHP прикомпилювалось до веб-серверу Apache. До 1997 року PHP використовувався вже на 50,000 доменах <https://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%BC%D0%B5%D0%BD_(%D0%86%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82)> (не більше 1% всіх веб-серверів <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>).

У тому ж 1997 <https://uk.wikipedia.org/wiki/1997> році до проекту PHP підключилися Зев Сураскі <https://uk.wikipedia.org/wiki/%D0%97%D0%B5%D0%B2_%D0%A1%D1%83%D1%80%D0%B0%D1%81%D0%BA%D1%96> (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Zeev Suraski) і Енді Гутманс (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Andi Gutmans). Ці студенти Техніону <https://uk.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D1%96%D0%BE%D0%BD>, одного з найкращих ізраїльських університетів, намагалися використовувати PHP/FI для одного з комерційних університетських проектів. При цьому їм довелося зіткнутися з багатьма труднощами і обмеженнями цієї технології. Вивчаючи початковий код PHP 2, Зеєв і Енді дійшли висновку про необхідність доопрацювання, а точніше істотної переробки PHP, особливо в плані синтаксису мови. Протягом декількох місяців вони блискуче впоралися з цим завданням

Закінчивши роботу Зеєв і Енді домовились з Расмусом про співпрацю в галузі розвитку та вдосконалення мови. З цієї миті з'являється PHP Group - група однодумців, що працюють над розвитком технології PHP. Одержаний продукт з'явився на світ у 1998 році під назвою PHP 3.

При цьому головною особливість PHP 3 <https://uk.wikipedia.org/w/index.php?title=PHP_3&action=edit&redlink=1> була можливість розширення ядра, що привернуло до роботи над PHP безліч сторонніх розробників, що створюють спеціалізовані модулі. Їх наявність дала PHP можливість працювати з величезною кількістю баз даних, протоколів, підтримувати велике число API <https://uk.wikipedia.org/wiki/API>. До кінця 1998 кількість користувачів PHP перевалила за 100000, а PHP був вже встановлений на не менше ніж 10% серверах Інтернету <https://uk.wikipedia.org/wiki/%D0%86%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82>. У той ж час значному поширенню даної мови сприяли публікації в електронній пресі та вихід книжок для вивчення PHP.

Відразу ж після виходу PHP 3, Енді Гутманс і Зеєв Сураскі почали переробку ядра PHP. В першу чергу належало вирішити проблему підвищення продуктивності. Новий продукт, названий Zend Engine <https://uk.wikipedia.org/wiki/Zend_Engine> (від імен творців: Zeev і Andi), успішно справлявся з поставленим завданням і був реалізований в 1999 році. Основними реалізованними ідеями є можливість компіляції сценарію у виконуваний модуль, за рахунок чого продуктивність можна було підняти на порядок.

Об'єднавши інтерпретатор форм з пакетом PHP-Tools, Лердорф підійшов у 1996 році до другої версії PHP, названої PHP / FI. Він поставився легковажно до ідеї створення з нього комерційного продукту. Але в той же самий час, Лердорф отримував величезне число повідомлень від інших програмістів, які надсилали йому поліпшення коду і виправлення помилок.

Привести точну статистику непросто, але приблизно в кінці 1996 року PHP / FI використовувався не менш ніж на 15,000 web-сайтів у всьому світі. А в середині 1997 року їх кількість перевищила 50,000.

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

PHP - мова, яка може бути вбудована безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>).

Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal.

·Наявність інтерфейсів до багатьох баз даних <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85> в PHP вбудовані бібліотеки для роботи MySQL <https://uk.wikipedia.org/wiki/MySQL>, PostgreSQL <https://uk.wikipedia.org/wiki/PostgreSQL>, mSQL <https://uk.wikipedia.org/w/index.php?title=MSQL&action=edit&redlink=1>, Oracle <https://uk.wikipedia.org/wiki/Oracle_Database>, dbm <https://uk.wikipedia.org/w/index.php?title=Dbm&action=edit&redlink=1>, Hyperware <https://uk.wikipedia.org/w/index.php?title=Hyperware&action=edit&redlink=1>, Informix <https://uk.wikipedia.org/wiki/Informix>, InterBase <https://uk.wikipedia.org/wiki/InterBase>, Sybase <https://uk.wikipedia.org/wiki/Sybase>.

·Традиційність

·Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкцій мови запозичені з С, Perl. Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP - мова, що поєднує переваги Perl і С і спеціально спрямована на роботу в Інтернеті, мова з універсальним і зрозумілим синтаксисом. І хоча PHP є досить молодою мовою, вона здобула таку популярність серед web-програмістів, що в наш час є мало не найпопулярнішою мовою для створення веб-застосунків <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA> (скриптів).

·Наявність вихідного коду та безкоштовність

·Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно справили благотворний вплив на багато проектів, в першу чергу - Linux <https://uk.wikipedia.org/wiki/Linux> хоч і успіх проекту Apache <https://uk.wikipedia.org/wiki/Apache> сильно підкріпив позиції прихильників Open Source <https://uk.wikipedia.org/wiki/Open_Source>. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.

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

·Ефективність. Ефективність є дуже важливим чинником при програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web <https://uk.wikipedia.org/wiki/Web>. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl <https://uk.wikipedia.org/wiki/Perl>. Проте, щоб не робили розробники PHP, виконувані файли, отримані за допомогою компіляції, працюватимуть значно швидше - в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних веб-застосунків <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA>.

3. ПЕРЕГЛЯД ПОПУЛЯРНИХ SQL-СЕРВЕРІВ

.1 PostgreSQL

PostgreSQL (вимовляється «Пост-грес-Кью-ель», або «постгрес»- об'єктно-реляційна система керування <#"justify">3.1.1 Основні можливості

Функції. Функції дозволяють виконувати деякий код безпосередньо сервером бази даних. Ці функції можуть бути написані на SQL <#"justify">Індекси. В PostgreSQL є підтримка індексів наступних типів: B-дерево, хеш, R-дерево, GiST, GIN. При необхідності можна створити нові типи індексів.підтримує одночасну модифікацію БД декількома користувачами за допомогою механізму Multiversion Concurrency Control (MVCC). Завдяки цьому виконуються вимоги ACID, і практично відпадає потрібність в блокуванні зчитування.підтримує великий набір вбудованих типів даних:

·Числові типи

·Цілі

oЗ фіксованою крапкою

oЗ нефіксованою крапкою

·Грошовий тип

·Символьні типи довільної довжини

·Двійкові типи (включаючи BLOB)

·Типи «дата/час»

·Булевий тип

·Перерахування

·Геометричні примітиви

·Мережеві типи

oIP і IPv6-адреси

oCIDR-формат

oМАС-адреса


Firebird (іноді FirebirdSQL) - кросплатформна, вільна <#"justify">.2.1 Основні можливості

·Відповідність вимогам ACID <#"justify">3.3 Microsoft SQL сервер

SQL Server є основним засобом обробки великих обсягів інформації. Нова версія SQL Server значно розширена для підвищення продуктивності СУБД, спрощення адміністрування, підвищення надійності і швидкості обробки даних.

3.3.1 Обзор продукту

Зараз організації стають все більш динамічними. Це необхідно для швидкої реакції на мінливі умови ведення бізнесу. Все більш активно йде процес децентралізації прийняття рішень, а прагнення підвищити продуктивність прийняття рішень веде до спрощення процедур реалізації різного роду ідей. Для створення засобів підтримки подібного роду змін організації звертаються до технологій розподіленої обробки інформації. Ці технології дозволяють розміщувати дані як можна ближче до користувачів, яким інформація необхідна для прийняття важливих рішень.SQL Server-спеціально розроблена для задоволення вимог, що пред'являються системами розподіленої обробки даних (таких як тиражування даних, паралельна обробка, підтримка великих баз даних (БД) на відносно недорогих апаратних платформах,зберігає простоту управління і використання). Сервер має засоби віддаленого адміністрування і керування операціями, організовані на базі об'єктно-орієнтованої розподіленого середовища управління. Нові можливості, такі як OLE Automation і засоби програмування адміністративних завдань мовою Visual Basic for Applications, забезпечують інтеграцію з додатками, що працюють на ПК. Як і раніше Microsoft приділяє дуже велику увагу відповідності своїх продуктів існуючим промисловим стандартам, що відбилося у розширеній підтримці ANSI SQL і ODBC.SQL Server входить до складу сімейства Microsoft BackOffice, що об'єднує п'ять серверних додатків, розроблених для спільного функціонування в якості інтегрованої системи. Вона дозволяє користувачам підвищити продуктивність процесу прийняття рішень засобами систем, що базуються на архітектурі клієнт-сервер. Крім того, Microsoft SQL Server завершує лінію засобів розробки, що включають Microsoft Access, Visual FoxPro ®, Visual Basic і Visual C + + ™.

3.3.2 Історія розвитку SQL Server

Вихідний код MS SQL Server (до версії 7.0) грунтувався на коді Sybase SQL Server, і це дозволило Microsoft вийти на ринок баз даних для підприємств, де конкурували Oracle, IBM, і, пізніше, сама Sybase. Microsoft, Sybase і Ashton-Tate спочатку об'єдналися для створення і випуску на ринок першої версії програми, що отримала назву SQL Server 1.0 для OS / 2 (близько 1989 року), яка фактично була еквівалентом Sybase SQL Server 3.0 для Unix, VMS та ін. Microsoft SQL Server 4.2 був випущений в 1992 році і входив до складу операційної системи Microsoft OS / 2 версії 1.3. Офіційний реліз Microsoft SQL Server версії 4.21 для ОС Windows NT відбувся одночасно з релізом самої Windows NT (версії 3.1). Microsoft SQL Server 6.0 був першою версією SQL Server, створеною виключно для архітектури NT і без участі в процесі розробки Sybase.Server 7.0 був першим сервером баз даних зі справжнім графічним інтерфейсом адміністрування. Для усунення претензій з боку Sybase у порушенні авторських прав, весь успадкований код в сьомій версії був переписаний.

Версія SQL Server 2005 - була представлена в листопаді 2005 року. Запуск версії відбувався паралельно запуску Visual Studio 2005.Існує також «урізана» версія Microsoft SQL Server - Microsoft SQL Server Express, вона доступна для скачування і може безкоштовно розповсюджуватися разом з використовують її програмним забезпеченням.

З моменту випуску попередньої версії SQL Server (SQL Server 2000) було здійснено розвиток інтегрованого середовища розробки і ряду додаткових підсистем, що входять до складу SQL Server 2005.Зміни торкнулися реалізації технології ETL (витяг, перетворення і завантаження даних), що входить до складу компонента SQL Server Integration Services (SSIS), сервера оповіщення,засобів аналітичної обробки багатовимірних моделей даних (OLAP) і збору релевантної інформації (обидві служби входять до складу Microsoft Analysis Services), а також декількох служб повідомлень,а саме Service Broker і Notification Services. Крім цього, були проведені покращення в продуктивності.

Остання версія SQL Server - SQL Server 2008 R2. Була випущена 21 квітня 2010 року.Server 2008 спрямований на те, щоб зробити керування даними самоорганізующимися - для реалізації цих можливостей були створені технології SQL Server Always On. Це дозволить зменшити до нуля час знаходження сервера в неробочому стані.

3.4 MySQL-сервер

Розробку і супровід MySQL, самої популярної SQL-бази даних з відкритим кодом, здійснює компанія MySQL AB. MySQL AB - комерційна компанія, заснована розробниками MySQL, що будує свій бізнес, надаючи різні сервіси для СКБД MySQL.- це система керування базами даних.

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

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

Програмне забезпечення MySQL - це ПЗ з відкритим кодом. ПЗ з відкритим кодом означає, що застосовувати і модифікувати його може будь-хто. Таке ПО можна одержувати по Internet і використовувати безкоштовно. При цьому кожен користувач може вивчити вихідний код і змінити його у відповідності зі своїми потребами. Використання програмного забезпечення MySQL регламентується ліцензією GPL (GNU General Public License), #"justify">3.4.1 Історія створення MySQL

До 1994 року на ринку були представлені головним чином бази даних, призначені для роботи зі значними обсягами даних і складними взаємозв'язками, які володіли різними можливостями, але в той же час вимагали значних обчислювальних ресурсів. До числа таких баз даних відносяться Oracle, Informix та Sybase. СКБД з підтримкою SQL і доступних за вартістю в цей час не було.

Великі корпорації та університети могли собі дозволити придбати потужні обчислювальні комплекси, а невеликі організації і користувачі користувалися слабкими настільними базами даних, такими, як Postgres, в якій використовувалася різновид мови QUEL (PostQUEL), але, яка, на жаль,вимагала таких же ресурсів, що і її аналоги, але не давала переваги використання SQL в якості мови запитів.

Давид Хьюз частину своєї дисертації, яку він писав в Університеті Бонд в Австралії, присвятив розробці системи спостереження і контролю з однієї або декількох точок за групою систем. Головним елементом проекту, який називався Minerva Network Management System, була база даних для зберігання інформації про всі комп'ютери в мережі.

Для вирішення своїх завдань Хьюз вирішив використовувати Postgres. Однак колеги запропонували використовувати SQL в якості мови запитів для Minerva, оскільки SQL є найбільш поширеним мовою запитів, і, використовуючи його, Minerva могла б стати доступною в будь-якій точці планети, де стоїть СУБД, яка підтримує SQL.

Хьюз знайшов вихід у тому, що вирішив створити програму, в режимі реального часу транслює SQL в PostQUEL. Він написав таку програму і назвав її miniSQL, або mSQL. Вона перехоплювала пропозиції SQL, посилають Minerva, перетворювала їх у PostQUEL і пересилала результат у Postgres.

Деякий час така ситуація влаштовувала Хьюза. Однак у результаті подальшого зростання Minerva, стало очевидно, що на тих обмежених ресурсах, які їй доступні, підтримувати той невеликий набір характеристик, який їй необхідний, ні Postgres, ні яка інша велика СКБД не зможуть. Так, наприклад, для того, щоб реалізувати можливість одночасного підключення Minerva відразу до кількох баз даних, Postgres вимагав одночасного запуску декількох екземплярів сервера бази даних.

Для вирішення цих проблем Хьюз проаналізував своє ставлення до Minerva, і, виявилося, що для Minerva багато можливостей, які є в Postgres, не потрібні і знижують її продуктивність. Основними запитами, що генеруються Minerva, були: «insert», «delete» і «select».

Оскільки в Х'юза вже був mSQL, здійснював трансляцію SQL, йому було потрібно тільки створення сервера бази даних, що задовольняє його потребам.

Винахідником MySQL є Михайло Віденіус зі шведської компанії TcX.У 1979 році він розробив засіб управління базами даних, яке називалося UNIREG. Надалі UNIREG була розширена для підтримки великих баз даних і була переписана на декількох мовах. У 1994 році компанія TcX стала розробляти програми для www з використанням UNIREG. Однак у зв'язку з великими накладними витратами UNIREG не могла успішно використовуватися для динамічної генерації Web-сторінок. Тому Віденіус вирішив зв'язатися з автором mSQL, Хьюзом, щоб запропонувати йому підключити mSQL до обробникові B + ISAM в UNIREG. Однак Хьюз успішно просунувся на шляху до mSQL 2, і компанія вирішила створити сервер баз даних під свої потреби.

У TcX взяли за основу UNIREG і використовували утиліти сторонніх розробників для mSQL, написали API для своєї системи, який спочатку сильно збігався з API для mSQL. Однак це дозволяло будь-якому користувачеві mSQL, бажаючому перейти на сервер баз даних ТШХ, внести в свій код незначні зміни. Вихідний код нової бази даних був повністю оригінальним. Таким чином, в травні 1995 року у компанії була база даних MySQL 1.0 повністю задовольняє потребам компанії.

Що стосується назви, то Віденіус говорить про це так: «До кінця не ясно, звідки йде назва MySQL. У ТШХ базовий каталог, а також значне число бібліотек і утиліт протягом десятка років мали префікс "my". Разом з тим мою дочку теж звуть My. Тому залишається таємницею, який з двох джерел дав назву MySQL ».перенесена на багато ОС UNIX, під Win32 і OS / 2 з моменту випуску в Інтернет і являє собою швидко розвивається платформу баз даних, завдяки безлічі програмістів, зацікавлених в її розвитку.

3.4.2 Технічні можливості СКБД MySQL

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

Внутрішні характеристики і переносимість:

·Написаний на C і C + +. Протестований на безлічі різних компіляторів.

·Працює на різних платформах.

·Для забезпечення переносимості використовується GNU Automake, Autoconf і Libtool.

·API для C, C + +, Eiffel, Java, Perl, PHP, Python, Ruby і Tcl.

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

·Дуже швидкі дискові таблиці на основі В-дерев зі стисненням індексів. Дуже швидко базується на потоках система розподілу пам'яті.

·Дуже швидкі з'єднання, що використовують оптимізований метод однопрохідного мультісоедіненія (one-sweep multi-join).

·Хеш-таблиці в пам'яті, що використовуються як тимчасові таблиці.

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

·MySQL-код протестований з використанням Purify (комерційний детектор витоку пам'яті), а також Valgrind, одного з GPL-інструментів.

Типи стовпців:

·Велика кількість: цілочисельні зі знаком / беззнакові, довжиною в 1, 2, 3, 4 і 8 байтів, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET і ENUM.

·З записами фіксованої і змінної довжини.

·Всі стовпчики мають значення за замовчуванням. За допомогою INSERT можна вставити підмножину стовпців таблиці; стовпці, для яких явно не задані значення, встановлюються в значення за замовчуванням.

Команди та функції:

·Повна підтримка операторів і функцій в SELECT-і WHERE-частинах запитів. Наприклад:

mysql> SELECT CONCAT(first_name, " ", last_name)

> FROM tbl_name

> WHERE income/dependents > 10000 AND age > 30;

·Повна підтримка для операторів SQL GROUP BY і ORDER BY з висловлюваннями SQL.

·Підтримка групових функцій (COUNT (), COUNT (DISTINCT ...), AVG (), STD (), SUM (),MAX () і MIN ()).

·Підтримка LEFT OUTER JOIN і RIGHT OUTER JOIN з синтаксисом ANSI SQL і ODBC.

·Дозволені псевдоніми для таблиць і стовпців у відповідності зі стандартом SQL92.

·DELETE, INSERT, REPLACE, and UPDATE повертають число рядків,які були змінені. Замість цього можна задати повернення збігшихся рядків. Для цього слід встановити прапор при з'єднанні з сервером.

·Команду SHOW, яка є специфічною для MySQL, можна використовувати для отримання інформації про бази даних, таблицях і індексах. Щоб з'ясувати, як оптимізатор виконує запит, можна застосовувати команду EXPLAIN.

·Імена функцій не конфліктують з іменами таблиць і стовпців. Наприклад, ABS є коректним ім'ям стовпця. Для виклику функції існує тільки одне обмеження: між ім'ям функції і такий його відкриває дужкою `('не повинно бути пробілів.

·В одному і тому ж запиті можуть зазначатися таблиці з різних баз даних (з версії 3.22).

Безпека:

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

Масштабованість і обмеження:

·Керує дуже великими базами даних. Компанія MySQL AB використовує MySQL для роботи з декількома базами даних, які містять 50 мільйонів записів, крім того, відомі користувачі, що використовують MySQL для роботи з 60000 таблицями, що включають близько 5 * 1010 рядків. Для кожної таблиці дозволяється мати до 32 індексів. Кожен індекс може містити від 1 до 16 частин стовпців. Максимальна ширина індексу 500 біт (це значення може бути змінено при компіляції MySQL).

Установка з'єднань:

·Клієнти можуть з'єднуватися з MySQL, використовуючи сокети TCP / IP, сокети Unix або іменовані канали (named pipes, під NT).

·Підтримка ODBC (Open-DataBase-Connectivity) для Win32 (з вихідним кодом). Всі функції ODBC 2.5 та багато інших. Наприклад, для з'єднання з MySQL можна використовувати MS Access.

Локалізація:

·Сервер може забезпечувати повідомлення про помилки для клієнтів на різних мовах.

·Повна підтримка декількох різних кодувань, включаючи ISO-8859-1 (Latin1), німецький, big5 і багато інших. Наприклад, скандинавські символи дозволені в іменах таблиць і стовпців.

·Для зберігання всіх даних використовується обраний набір символів. Всі порівняння для стовпців з нормальними рядками проводяться з урахуванням регістру символів.

·Сортування проводиться відповідно до обраного алфавітом (за замовчуванням використовується шведська). Цю установку можна змінити при запуску сервера MySQL. MySQL підтримує багато різних кодувань, які можна задавати під час компіляції і в процесі роботи.сервер є безкоштовним для некомерційного використання. Інакше необхідно придбання ліцензії, вартість якої складає 190 EUR.

електронний магазин каталог база

4. ПИТАННЯ БЕЗПЕКИ І санкціонування доступу до баз даних

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

Властивість збережених даних, яке полягає в тому, що вони правильні відповідно до критеріїв, встановлених власником і / або адміністратором даних, називається цілісністю даних. На мою думку, безглуздо говорити про безпеку даних в системі, яка не забезпечує будь-які засоби підтримки цілісності.

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

У сучасних базах даних справи йдуть трохи краще (хоча й не ідеально). По-перше, вже в багатьох СКБД підтримується поняття домену (множини значень деякого типу даних). При визначенні стовпця таблиці можна вказати домен допустимих значень цього стовпця, і після цього система стежить за тим, щоб у стовпці містилися тільки допустимі значення.(Звичайно, це не означає, що помилково не можна помістити в полі запису допустиме, але невірне значення.) По-друге, для стовпця, для таблиці або для декількох таблиць одночасно можна визначити одну або кілька обмежень цілісності. Обмеження цілісності - це логічне вираження, яке повинно бути істинним за цілісному стані бази даних. Система не допускає виконання операцій оновлення бази даних, в результаті яких порушується хоча б одне обмеження цілісності. По-третє, в деяких системах з'явилася підтримка тригерів - збережених процедур, написаних на процедурному розширенні мови SQL (наприклад, PL / SQL в Oracle), які автоматично викликаються при виконанні специфікованих операцій оновлення бази даних і служать для підтримки її цілісності.

Такі заходи в ряді випадків дозволяють уникнути серйозних помилок, пов'язаних з порушенням цілісності даних, але, на жаль, не дають повної гарантії відсутності помилок. Наприклад, як і раніше, повноважний користувач може неправильно змінити значення потужності мотора в записі марки автомобіля (задовольнивши при цьому обмеження домену і всі обмеження цілісності). Мабуть, єдину на сьогодні можливість уникнути втрати даних через власну помилки забезпечують так звані темпоральні системи баз даних (прикладом може служити СКБД Postgres).

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

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

До цих пір в якості прикладу поширеного виду помилок фігурував випадок, коли неправильно оновлювалося індивідуальне поле деякої запису. Проте часто виникають ситуації, коли сукупні дані записи стають невірними з тієї причини, що значення кількох полів повинні змінюватися узгоджено. Розширимо трохи приклад бази даних марок автомобілів. Нехай кожен запис містить ще одне поле - клас автомобіля. Наприклад, нехай при вазі до 3,5 тонн автомобіль належить до класу B, а при більшій вазі - до класу С. Звичайно, це обмеження цілісності, і його можна сформулювати, наприклад, на мові SQL. Звичайно, можна визначити тригер, який буде автоматично змінювати значення класу автомобіля залежно від установлюваного значення його ваги. Але все це жахливо громіздко.

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

У разі ООБД конструювання бази даних полягає в розробці структури і методів об'єктів. Тому можна написати методи таким чином, щоб при роботі з будь-яким об'єктом було неможливо порушити його цілісність. Наприклад, ООБД марок автомобілів складалася б з об'єктів, внутрішній стан яких являло б собою записи тієї ж структури, як і раніше, а до числа методів входив би метод «Змінити вагу автомобіля». Тоді код цього методу автоматично змінював би й клас автомобіля при виникненні відповідної умови. До речі, зауважимо, що був би відсутній метод «Змінити клас автомобіля», значення класу було б доступно тільки з читання. Помилкові стану об'єктів все одно можливі, оскільки ніхто не заважає звернутися до методу «Змінити вагу автомобіля» з невірними, хоч і правдоподібними параметрами. Як і раніше, єдиним способом зберегти можливість доступу до останнього варіанту об'єкта з правильним станом є використання техніки темпоральних баз даних.

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

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

·У контексті баз даних термін безпека означає захист даних від несанкціонованого розкриття, зміни або знищення. SQL дозволяє індивідуально захищати як цілі таблиці,так і окремі їхні поля. Для цього є дві більш-менш незалежні можливості:

·механізм уявлень, розглянутий у попередньому розділі і використовуваний для приховування засекречених даних від користувачів, які не володіють правом доступу;

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

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

Привілеї надаються за допомогою пропозиції GRANT (надати), загальний формат якого має виглядпривілеї ON об'єкт TO користувачі;

У ньому «привілею» - список, що складається з однієї або кількох привілеїв, розділених комами, або фраза ALL PRIVILEGES (всі привілеї);«Об'єкт» - ім'я і, якщо треба, тип об'єкта (база даних, таблиця, уявлення, індекс і т.п.); «користувачі» - список, що включає один або більше ідентифікаторів санкціонування, розділених комами, або спеціальне ключове слово PUBLIC (загальнодоступний).

До таблиць (уявленням) відносяться привілеї SELECT, DELETE, INSERT і UPDATE [(стовпці)], що дозволяють відповідно зчитувати (виконувати будь-які операції, в яких використовується SELECT), видаляти, додавати або змінювати рядки зазначеної таблиці (зміну можна обмежити конкретними стовпцями). Наприклад, пропозиціяSELECT, UPDATE (Праця) ON Страви TO cook;

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

Якщо користувач USER_1 надав будь-які привілеї іншому користувачеві USER_2, то він може згодом скасувати всі або деякі з цих привілеїв. Скасування здійснюється за допомогою пропозиції REVOKE (скасувати), загальний формат якого дуже схожий на формат пропозиції GRANT:привілеї ON об'єкт FROM користувачі;

Наприклад, можна відібрати у користувача право зміни значень стовпця.

ВИСНОВКИ

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

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

Електронна комерція (e-commerce) - це прискорення більшості бізнес-процесів за рахунок їх проведення електронним чином. У цьому випадку інформація передається прямо до одержувача, минаючи стадію створення паперової копії на кожному етапі.

Інтернет-комерція зароджувалася як ринок роздрібної торгівлі. Але поступово на ринку стали з'являється рішення, орієнтовані не так на кінцевих споживачів, а на організації, так званий ринок B2B, або бізнес-бізнес (на противагу B2C, бізнес-клієнт).

Спочатку, на ринку B2B пропонувалися продукти, пов'язані з власне організацією роздрібної торгівлі (готові Інтернет - магазини, послуги з реклами, впровадження Інтернет - торгівлі в традиційні бізнес - процеси і т.п.). Але поступово через Інтернет стали продаватися рішення, безпосередньо з Інтернет не пов'язані (комерційне програмне забезпечення, послуги автоматизації, оптова торгівля, брокерські послуги, консалтинг і т.п.).

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

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

Список використаної літератури

Інформатика: Компютерна техніка. Компютерні технології. Посіб./ За ред. О.І. Пушкаря - К.: Видав-ничий центр "Академія", 2011. - 696 с.

Жалдак М.І., Рамський Ю.С. Інформатика. - К.: "Вища школа", 2006. - с.

Бакаревич Ю.Б., Пушкина Н.В. Microsoft Access 2009. - СПб.:БХВ Санкт-Петербург, 1999.

Похожие работы на - Системи доступу до БД на базі Internet-технологій

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!