Въведение в Данни на Guide-Bulgaria.com

предговор
Преди известно време ние обсъдихме редица Thunder интересно, по наше мнение, информационни зони, които по някаква причина все още не получават покритие на форума. Една от тези области - система за управление на бази данни (СУБД).

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

Що се отнася до стила на представяне, ще отбележа следното. Не съм тръгнал да се направи моментна снимка на сегашното състояние на базата данни. Вместо това, е направен опит да се покаже кратка история за развитието на методи и средства за обработка на данни, които като резултат е довело до СУБД. Често, за да се разбере защо е такъв обект, много по-лесно, проследяване развитието му. Ето защо, в началото е кратък исторически преглед на събитията, всяка от които, по мое мнение, изиграли роля, макар и косвено, във външния вид на СУБД. На първо място, по мое мнение, това е просто интересно. На второ място, в базата данни, не се наблюдаваше от нищото. Техният външен вид - неизбежен резултат от решаване на проблеми, който варира с компютри.

Предварително се извинявам на тези, които преценяват като стане досадно и uninformative. Моят план не е написването на кратко енциклопедия статия (вярват в тях, и така няма недостиг). По-скоро това е - в процеса на обобщаване, част от която течеше към очите ми.

Част от представения материал се базира на моя личен опит и опита, изготвен от настоящото решение (според мен, не е далеч от перфектно). Така че аз ще се радвам на всякакви конструктивни критики, допълнения и корекции (по същество).

въведение
От древни времена човечеството се изправи пред задачата, която изисква все по-голям обем от изчисления. Разбира се, с течение на времето, като повечето от тях да се намерят решения. Дори и в древни времена, някои области на математиката са разработени така, че един образован човек в тези години нивото на знания едва ли е по-малък от сегашния завършил училище.

Външният вид на имота на основание, взе някакъв начин да се изчисли площта на земята, която доведе до раждането на геометрията. Постижения на Евклид, Питагор и други гръцки учени в тази област са добре известни.

Развитието на търговията също повдигна нови предизвикателства. В допълнение към лечението на стоки и суми пари, и там са били по-сложни проблеми. Търговците трябваше да вземат все по-дълги пътувания, както и за това, че се средства за навигация. Астрономите от древността изненадващо умело се справиха с тази задача. Естествено, всичко в крайна сметка намалява до изчисляване и толкова по-точни са те, толкова по-успешно, реши незабавно проблема.

Не е тайна, че изчислителната способност на повечето от нас са много ограничени. Дори и сгънати в предвид цената на няколко малки покупки и да се изчисли сумата на депозита не е лесно, и само по отношение на изчисляването на орбитата на планетата или звездни координати и не може да говори. Ето защо, заедно с развитието на теорията на най-добрите умове и се бори по въпроса за автоматизация на изчисленията. Но след това, за съжаление, напредъкът е много по-бавно.

Повече от хиляда години, единственият помощник на човека в изчисленията бяха представляват различни сортове. Малко се е променило, и те дойдоха в нашето време.

Genius Паскал, Лайбниц, Бабидж и други се опитаха да се изгради една машина за автоматични изчисления. За съжаление, тази техника от времето разрешено само за изграждане на механично устройство. Механични изчислителни машини са твърде бавни, скъпи и ненадеждни за масова употреба, толкова разпространението не се получи. Освен, може би, е добър старомоден добавяне машина прякор. който не толкова отдавна, че е вярно служи като служители. Но това може да се разполага сравнително скоро (добавяне на машини, промишлено производство е започнало през 1822).

Опитите да се използват електрическите компоненти в изчислителните машини ги правят перфектно, както и специализирани електромеханични устройства са били успешни в някои приложения (например, Холерит табулатори за статистическа обработка на данните се използва много успешно при преброяване на САЩ).

И все пак наистина универсални автоматични компютърни устройства - компютри - можете да създавате само въз основа на електронни компоненти. За появата им изисква две основни условия: наличие на съответните компоненти и концепцията за съхранена програма. И тогава, и друг се появи само в 40-те години на ХХ век.

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

Налага ограничения върху характера на задачата и архитектурните особености на компютрите в онези години: Ако веригата на лампата дава сравнително висока скорост (десетки до стотици хиляди операции в секунда), устройства за съхранение имат изключително нисък капацитет в дялове на десетки к думи и ограничена ефективност. Те правят или линии забавяне живак (малка контейнери) или на електронно-лъчеви тръби (по-висок капацитет на по-висока цена - около $ 1000 - и ниска надеждност - експлоатационен срок на около един месец, което е изключително оскъпява използването на компютри с много RAM) ,

Подробности за периферни устройства също е поразителен. Това е много популярен и с ниска скорост perfolentochnye карта-I / O устройство. Имаше и магнитна лента и магнитни барабани. Всички тези средства за съхранение, с изключение на последния вариант, прави възможността за обработка на данни, последователност, но те не са подходящи за тях за вземане на проби в случаен ред. Магнитни същите барабани имат твърде малко капацитет, въпреки че предоставянето на случаен достъп до данните.

Появата на търговски компютри
Основният случай влияят по-нататъшното развитие на компютрите е изобретението на RAM на феритни сърцевини. Тази памет е доста компактен и надежден на ниска цена. Доста дълго време тя е била използвана в компютрите, докато тя е заменена от по-практично полупроводникови памет.

Това, както и редица други констатации направи възможно да се намали значително разходите за компютри и ги поставя на базата на серийно производство. Компютри започнаха да излизат от стените на университета и военни лаборатории. Съответно, кръгът постепенно се променя своите задачи.

Приблизително по същото време, има магнитни дискове, при които информацията се записва в концентрични кръгове - писти. Магнитни глави могат да бъдат разположени произволно и да е специален верижно задвижване, при което в относително кратък период от време (десетки милисекунди). В това си качество дискове бързо нарастват от няколко до стотици мегабайта.

Всичко това проправи пътя за използване на компютрите в управлението на задачи и информационни системи, които не се ограничават до компютри.

Организиране на данни на външен носител
Non-числова обработка на данни изисква да обръщат повече внимание на структурирането на съхранената информация. структурирането на данни Evolution изглеждат приблизително по следния начин.

плоски файлове
Най-простият начин за съхраняване на информация, може би, са плоски файлове. Почти всеки от използваните в момента операционни системи поддържа плоски файлове, с изключение, може би, на някои специализирани операционна система за вградени контролери.

Плосък File - с име набор от данни на външен носител. Самата операционна система не е структура на плосък файл не предоставя, и да го третира просто като колекция от байтове. Целева разделяне последователност на байтовете в областта за запис и разпределяне в нея лежи изцяло от приложението.

Основни операции за достъп до плоски файлове - отваряне на четене / запис, в близост, позициониране в началото на файла / и край на файл /, определен байт прочетеният / пишат определен брой байтове от текущата позиция.

Други операционни системи като UNIX семейство или MS Windows NT, осигурява много по-усъвършенствани инструменти за достъп до файлове. Независимо от това, всички те имат общи недостатъци:
  • OS текстов файл - просто последователност от байтове. Ето защо, всички предположения за структурата на записите на файлове прави заявлението. Грешка в кода или грешен лечение на грешен файл ще доведе до непредвидими последици.
  • В резултат на това - невъзможността да се блокира за четене / променя отделен вход с помощта на операционната система файл, защото самата идея за запис не е като такъв.

  • За да търсите рекорда за стойността на състоянието на полета трябва да се чете всички записи последователно от началото на файла, докато търсенето е успешно, или в края на файла. Ето защо, случайна извадка от данните в този случай може да се говори с голям резерв.
  • Тези пропуски са се опитали да преодолее подкрепата на индексираните последователни файлове.

    Ако читателят има представа за най-простата база данни, работа с .dbf подобни файлове, може да се каже, че аз-II файлове от разстояние приличат .dbf.

    При създаването на I-II файл се създава така наречения индекс, който се използва за бърз достъп до регистрите на ключовото поле. Трябва да се отбележи, че разделя даден файл в записи и поддържа индекса на самата операционна система, а не по време на работа на системата, която е конфигурирана за приложни програми с

    Както подсказва името, с I-II файлове могат да работят по два начина. На първо място, записът може да се чете последователно, един след друг. На второ място, веднага можете да намерите желания влизането на ключовото поле, операционната система използва индекс за ускоряване на търсенето.

    И р-файлове - голяма стъпка напред в сравнение с плосък файл. Въпреки това, те не са без недостатъци:
    • А един файл може да се съхранява само за един тип предприятие. Създаване на комплексен модел на данните ще доведе до трупат голямо количество нищо несвързани файлове (за съжаление, нормален резултат от естественото развитие на проекта, извършено въз основа на .dbf).
  • Липса на средства, за да се опишат отношенията между лица, които се съхраняват в различни файлове. За тези отношения само приложение, което обработва данните.
  • системи за управление на бази данни (СУБД)
    Недостатъците на традиционната файл, възпрепятствани по-нататъшното развитие на информационни системи. Имаше нужда от инструменти, по-подходящи задачи. Такива средства са СУБД.

    В създаването на базата данни в него участват много компании, добре познат и не много. Всеки производител има своя собствена гледна точка на това, което трябва да бъде идеалният продукт на. Резултатът е набор от бази данни, нямаше нищо общо помежду си. Най-малко един идеи за развитие на СУБД получава, привлечени един от друг, докато други са измрели.

    Доста бързо се оказа, че въпреки външните различия между системите, по-голямата част от тях не може да се дължи на три вида: йерархичен, мрежов и релационни бази данни. Нека разгледаме накратко характеристиките на всеки един от видовете.

    йерархична база данни
    В основата на йерархична база данни, е сравнително прост модел на данни, които можем да си представим като дърво - ациклични насочено графика на специален формуляр.

    Дървото се състои от възли, всеки от които, с изключение на една, тя е самотен родител възел и множествена (включително аудио) дъщерно дружество.

    В горната част има никой родител, се нарича корен на дървото. Блузи, които нямат дъщерни дружества, наричани листа. Останалите върхове са клонове.

    Йерархични бази данни са най-подходящи за моделиране структури са по природа йерархична. В примери включват военни единици или сложни механизми, съставени от прости единици, които от своя страна също могат да бъдат подложени на разлагане.

    Въпреки това, има значителен брой структури, които не могат да бъдат сведени до една проста йерархия. Например, най-известните родословното дърво, което всъщност не е дърво в тесния смисъл на думата, тъй като повечето хора имат двама родители. На по-сложни структури и не може да говори.

    Йерархични бази данни бързо минаха върха на популярността, която е отговорна за тяхната лекота на използване и ранна поява на пазара, където основните конкуренти все още не са узрели за търговска употреба. След многобройните си недостатъци, направени неконкурентноспособен, и в момента е йерархична модел е само исторически интерес.

    база данни мрежа
    Подобно на модела на йерархична мрежа може да се мисли като насочена графика. Но в този случай, графиката може да съдържа цикъла, т.е. възел може да има няколко родители.

    Тази структура е много по-гъвкав и изразителен от предишния, и е подходящ за симулация на много по-широк клас задачи. В този модел върхове представляват същността и ребрата, които ги свързват - връзката между тях.

    Мрежови бази данни са имали много по-голям успех и дълго доминирани пазара на бази данни. В немалка степен е допринесъл за успеха на тяхното енергична дейност Data Base Task Group (DBTG) Комисия по Програмни езици конференция за Data Systems езици (CODASYL). Тази организация е добре разработени спецификации на модела на мрежата и нейната архитектура, която е създала редица успешни търговски продукти, не на последно място, където се провежда веднъж много популярен COBOL.

    релационна СУБД
    Релационни системи за управление на база данни, в момента са най-често срещаните. Тяхното прилагане съществува изобщо повече или по-малко подходящи за тази платформа (от персонални компютри до компютърни системи), за всички операционни системи и всички приложения - от основни продукти, предназначени за извършване на картови файлове за лична употреба, до сложни разпределени системи с много потребители.

    Въпреки това пъстро разнообразие, тези бази данни са на базата на обща рамка - модел релационна данни, разработена от Codd през 70-те години на XX век. На пръв поглед, този модел е съвсем проста: на базата данни е толкова просто като набор от свързани таблици. Но зад външната простота се крие мощно, но елегантен математически апарат на релационна алгебра, което от своя страна се основава на редица математически дисциплини, сред тях - логиката на смятане на предикат, теория на множествата:

    Важна роля за успеха на релационни бази данни и SQL език пиеси, създадени специално за заявки релационни бази данни. Това е доста проста и в същото време изразителен език, с помощта на които можете да се представите много сложни заявки към базата данни.

    Разбира се, също така предишното беше СУБД Data Definition Language (DDL) и манипулиране на данните език (ГСД). SQL съчетава двете функции. Но най-привлекателна черта, особено за непрофесионални потребители в програмирането е, че може да се изгради на базата на не-процесуалното SQL подмножество на запитвания. Това означава, че при формулирането на заявката се уточнява какво трябва да се съдържа в резултата, но не и как да го получи. Има, обаче, и процесуални елементи на език, като организацията на разклоняване и вериги, но тяхната употреба често се избягва. На същата база данни с програмиста мрежа трябваше да се използват навигационни процедури, да се разсейва по време на решаването на проблема.

    епилог
    Този преглед е била предназначена като въведение част от малка серия от статии, посветени на съвременните СУБД и тяхното програмиране. Той не го направи по никакъв начин претендират за пълнота и / или дълбочина изследователски въпрос, само си цел - да даде на читателя представа защо релационни СУБД доминирани към днешна дата в информационни системи, както и еволюционния път, че те трябваше да отида.

    Други изделия, ако те са предназначени да види светлината, ще бъдат посветени на специфични аспекти на релационна база данни.