Дизайн на база данни: стъпки и основи

Съдържание:

Дизайн на база данни: стъпки и основи
Дизайн на база данни: стъпки и основи
Anonim

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

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

Модерна база данни

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

стъпки за проектиране на база данни
стъпки за проектиране на база данни

Таблиците на Excel не се различават от Oracle и MySQL в контекста на правоъгълни (релационни) структури: колони и редове=една клетка в пресечната точка на името на колоната (поле) и индекса за избор (ред). Ако не вземете предвид мярката и количеството ръчен труд, тогава, благодарение на разработените средства за комбиниране на клетките вертикално и хоризонтално, Excel изпреварва дори Oracle!

Excel, според основната си идея, никога не "блести" динамиката, функционалността на Oracle и не може да прехвърли нещо от един лист на друг "според остатъците". Тук Oracle е по-обещаващ, но неговите съображения по въпросите на мигрирането на големи количества информация и комбинирането на формализирани позиции от различни източници оставят много да се желае. Тук MySQL е по-обещаващ: той не си поставя глобални задачи, но върши работата си перфектно.

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

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

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

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

Единственото основно условие: висококвалифициран разработчик. За извършване на ефективно проектиране на релационни бази данни е на разположение специалист, а по-често и екип от специалисти и експерти в областта на приложение на решавания проблем.

Обхват, възможно решение и препятствия

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

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

дизайн на релационна база данни
дизайн на релационна база данни

Разбира се, клиентът е платил и кодът на сайта е негова собственост. Характерна особеност на модерността: трансферът на знания и разработки между задачи от един и същи тип и свързани области на приложение е невъзможен и това е проблем.

Разборът е широк спектър от приложения за системи за управление на бази данни. На първо място, това е сканиране на информация от Интернет. Също толкова важно е да се сравнява информацията, натрупана вбаза данни и заявки за уеб посетители.

Анализът на ключови думи също включва необходимостта от формиране на оптимално решение, но дизайнът на база данни в Access може да е по-обещаващ, отколкото в MS SQL Server или Oracle.

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

Има две неща, които са присъщи на всяка база данни:

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

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

Различни процедури и стъпки за проектиране

Основите на дизайна на база данни обикновено се разделят на три етапа. Различните специалисти се отнасят към етапите на работа по различни начини, но всъщност има три позиции:

  • концептуално планиране;
  • логически дизайн;
  • техническо изпълнение.

Практиката допринася за установените традиции. Без значение колко сложен е обхватът и проблемът, който се решава. Винаги е необходимо да изберете правилнияинструменти. Например, трябва да събирате информация от посетители на уеб ресурс, но трябва да я сравните с данни от MS SQL Server. Уеб ресурсът се хоства във FreeBSD (интернет, Apache сървър), а MS SQL Server в друг град е достъпен чрез разпределената мрежа на компанията.

основи на дизайна на база данни
основи на дизайна на база данни

В това решение първо трябва да решите конкретен проблем: да установите обмен на данни с вътрешния сървър.

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

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

Изгледи на данни и обекти

Дизайн на DB чрез абстракции и обекти: способността за създаване на информационна картина, дефиниране на типове данни и връзки между тях.

Обикновено такъв дизайн на модел на база данни завършва с графичен модел, използващ MS Visio или визуални инструменти на избраната СУБД. Access има свой собствен начин за формиране на информационна картина, MySQL има свой собствен, а някои системи за управление на съдържанието напълно крият базата данни, налагайки модел на данни на разработчика чрез собствените си субекти -обекти на решаваната задача.

Характерна особеност на много системи за управление на съдържанието (CMS) е, че те правят "приложение" за ниво на по-голяма абстракция, когато описват информационната област на решавания проблем. Истинската база данни е скрита, CMS предлага на разработчика собствена представа за информационната картина на света.

В резултат на това етапите на проектиране на база данни се свеждат до спазване на основните изисквания и изпълнение на стъпките, предложени от създателите на определена CMS. Няма нищо срамно в използването на идеите за бази данни и техния дизайн от Symfony или Bitrix, Zend или Yii, но за разработчика това е "тежест".

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

проектиране на информационна база данни
проектиране на информационна база данни

Идеално за разработчик, който да бъде сертифициран от Oracle, но напълно приемливо за квалификацията на разработчика да включва прозрения за информационните идеи на Oracle и работни познания за MySQL приложения.

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

Етапи или екип: баланс на приоритетите

Изискването за последователност е от най-непосредствено значение. Основите на дизайна на базата данни включват също поетапност на работата, наблюдение на междинните резултати, преосмисляне на всеки завършен етап въз основа на изпълнението на следния тип работа:

  • систематично;
  • фазиране;
  • обратна връзка от всеки момент във времето, до самата начална позиция.

Тези разпоредби са абстрактни, но присъстват във всяка теоретична и практическа технология за създаване на ефективна база данни.

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

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

проектиране на структура на базата данни
проектиране на структура на базата данни

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

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

Възможно обратно. В тези формати има Excel и Access и „в изобилие“данни от древни времена, когато Windows for Workgoups беше все още жив и здрав. Частично останаха dBase и Quattro данни. Днес тези думи вече са забравени, но информациятаостана, той е търсен и трябва да се извлича и формира нови идеи.

Старо и ново: баланс на знанието

Облачната технология не е като базите данни, които направи Аштън-Тейт. Това, което Oracle някога е купил, по никакъв начин не може да се сравни с това, което прави днес. Но променливите, алгоритмите, функциите, циклите и условията са останали в програмирането от тези ранни 80-те години. Освен ако концепцията за процедурата не е потънала в забвение и всичко си остане както е било в древни времена.

Дори съвременните идеи за обектно-ориентирано програмиране са облечени в класическите синтактични и семантични "окови" от миналия век.

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

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

логически дизайн на база данни
логически дизайн на база данни

Да обмисляте проектирането на структура на база данни като задача и да получите крайния резултат е безполезно. Веднага след като базата данни бъде пусната в експлоатация, със сигурност ще се появи нова идея, дори ако инструментът за създаване на базата данни беше „прост“Excel, а не фантастично мощен и гъвкав продукт от Oracle,манипулиране на милиони транзакции, стотици хиляди едновременни потребители и терабайти информация.

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

Последователно развитие и/или високи скокове

Windows не е база данни, но има реликва - регистъра. Файлът hosts е просто идентификация на IP адресите и символните имена на локалната машина. Но чрез този файл се формират информационни потоци от различни домейни или към различни СУБД.

Възможно е да се разбере многостранният Windows като работещ компютър или сървър, но няма да работи по никакъв начин, за да оправдае логиката на версиите на този продукт. PHP също не е база данни, но аргументите на разработчиците защо версия 5 непосредствено следва версия 7 са непоследователни. PHP е инструмент за достъп до MySQL, неговият синтаксис дефинира как да се формират заявки и да се получават отговори от базата данни с помощта на SQL диалект.

Примерите за несъвместимост между съвременните инструменти за програмиране и поддръжката на бази данни се превърнаха в норма през последните години, но това не е най-оригиналният. Какво ще стои зад версията на Windows 10? Какви са перспективите за Oracle Database 12c?

Информация на разработчика-автора: Oracle Database 11g Express Edition (Oracle Database XE) е СУБД от начално ниво, базирана на кода на Oracle Database 11g Release 2 DBMS. Тази СУБД е безплатна за разработка,внедряване и продажба, бързо изтегляне и лесен за администриране.”

Гледната точка на потребителския разработчик: „През 2013 г. Oracle пусна Oracle Database 12c (версия 12.1.0.1) с ключови предимства на по-ниски разходи за съхранение, висока наличност на данни, лесна консолидация на база данни и защита на достъпа до данни „.

Реална практика: Обективен, ефективен и ефективен логически дизайн на база данни е достъпен само за екип от квалифицирани разработчици. Получаването на работен резултат не е трудно, трудно е да се формализират входящите информационни потоци и да се определи оптималната основа.

Към света на гладките форми от прецизни правоъгълници

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

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

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

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

Обект на работата няма да бъде описание на структурата на базата данни, а динамиката на движението на информацията. Етапите на работа ще бъдат разделени на три центъра на тежестта:

  • входен информационен поток;
  • трансформация и движение на информация в базата данни;
  • изберете данни за използване.

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

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

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

Фундаментални знания и твърди конструкции

Знанието е прерогатив на човека, програмите са тежестта на компютрите. Разработчикът е свободен да прилага знания, както намери за добре в конкретна ситуация. Обикновеният човек използва много бази данни, без да им придава значение. какБазите данни са организирани в главата на обикновен човек, никой не знае, но всеки знае как води бизнеса си, къде записва какво намира и кога трябва да го използва.

Резултатът от работата на програмиста - на ниво програма в "Basic", която извлича данни от уебсайта на онлайн магазин чрез ODBC, е еквивалентен на озаглавен разработчик на Oracle, който прави заявка за извличане на данни от Авиокосмическия салон МАКС. И двата резултата "замръзват" в статично състояние от момента на приключване на работата. Това не е активно знание, което човек използва, това е тайната на създаването на система за проектиране на база данни.

Алгоритъмът не може да бъде фиксиран. Всичко трябва да се дефинира динамично. Заслугите на квалифицираните разработчици са неоспорими, но те изобщо не се крият в елегантните форми на решения от Oracle, MySQL или Access, който е ограничен в своите възможности. Друга електронна таблица в Excel може да осигури динамично съдържание и да не изисква участието на програмист за повече или по-малко прилично време след приключване на работата.

Въпросът е колко добре е формализирана динамиката на областта на приложението, а не структурата на базата данни.

Решения на живо

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

Решения на живо
Решения на живо

Задачата за проектиране на база данни трябва да бъде формулирана по такъв начин, че разработената функционалност да се усъвършенства, да натрупва знания и при изпълнение на своите „задължения“да тръгва не от кода,създадена от експерти, но от знанията, придобити чрез този код.

Препоръчано: