Dizajn baze podataka: koraci i osnove

Sadržaj:

Dizajn baze podataka: koraci i osnove
Dizajn baze podataka: koraci i osnove
Anonim

Dizajn baze podataka je sekvencijalni proces prilagođavanja dostupnog znanja i alata za predstavljanje i obradu informacija.

Pravi obim, specifičan zadatak, opis dolaznog toka informacija i opšte ideje o procesu obrade informacija postepeno se dodaju na određenu konceptualnu ideju o tome šta je baza podataka u konkretnom slučaju i kako raditi s tim.

Moderna baza podataka

Relacijski odnosi su u srcu svakog informacionog modela. Oracle-ova rješenja su u suštini ekvivalentna MySQL-u, ali su fundamentalno različita u mnogim aspektima. Dizajn baze podataka je također pitanje sigurnosti, obima informacija i odgovornosti za integritet podataka, ali oni su sekundarni u odnosu na pitanje dizajniranja efikasne, pouzdane baze podataka koja je prilagođena korisniku.

koraci dizajna baze podataka
koraci dizajna baze podataka

Excel tabele se ne razlikuju od Oraclea i MySQL-a u kontekstu pravougaonih (relacionih) struktura: kolone i redovi=jedna ćelija na preseku naziva kolone (polja) i indeksa selekcije (red). Ako ne uzmete u obzir mjeru i količinu ručnog rada, onda je, zahvaljujući razvijenim sredstvima za vertikalno i horizontalno kombinovanje ćelija, Excel ispred čak i Oraclea!

Excel, po svojoj osnovnoj ideji, nikada ne "sjaji" dinamiku, funkcionalnost Oraclea, i ne može prenijeti nešto s jednog lista na drugi "po ostacima". Ovdje Oracle više obećava, ali njegova razmatranja o pitanjima migracije velikih količina informacija i kombinovanja formalizovanih pozicija iz različitih izvora ostavljaju mnogo da se požele. Ovdje MySQL obećava: ne postavlja sebi globalne zadatke, ali svoj posao radi savršeno.

Relacijski odnosi su zgodni, praktični i dobro uspostavljeni alati, od privatnih rješenja na nivou Excela do Oracle globalnih volumena, koriste se svuda, traženi su i imaju zagarantovanu budućnost za posao.

Savremena baza podataka su tabele, redovi, stupci i indeksi okruženi punom funkcionalnošću, razvijenim dodatnim alatima koji uzimaju u obzir višestruke operacije, velika opterećenja i ogromne količine.

Poznavanje i iskustvo savremenih sistema za upravljanje bazama podataka (DBMS) uzimaju u obzir ne samo pitanja pouzdanosti, pouzdanosti podataka, regulisanja pristupa i bezbednosnih pitanja, već omogućavaju praćenje negativnih spoljnih uticaja, analizu mogućih napadai pokušava namjerno ozlijediti.

Savremena baza podataka je pouzdan temelj za bilo koji web resurs i lokalnu aplikaciju, mogućnost migracije informacija, transformacije i prijenosa podataka, ukrštanja i kombinovanja različitih pogleda.

Jedini bitan uslov: visoko kvalifikovani programer. Za efikasno projektovanje relacionih baza podataka na raspolaganju je specijalista, a češće tim stručnjaka i stručnjaka iz oblasti primene problema koji se rešava.

Obim, moguća rješenja i prepreke

Informacije kruže posvuda. Mnogi projekti su direktno povezani na Internet, ali faktor formalnog predstavljanja podataka ovdje nije ništa bolji od faktora nesigurnosti prilikom kreiranja web resursa za čeličanu.

Razvoj i masovno interesovanje za online prodavnice ne daju osnovu i mogućnosti da se iskustvo kreiranja jedne prodavnice prenese na kreiranje druge. Faktor poslovne tajne stvara mnoge prepreke prenošenju znanja, iako bi, u stvari, trebalo da odvojite stvarnu prodavnicu od softverskih alata kreiranih za ovu prodavnicu.

dizajn relacione baze podataka
dizajn relacione baze podataka

Naravno, kupac je platio i šifra stranice je njegovo vlasništvo. Karakteristična karakteristika modernosti: prijenos znanja i razvoja između zadataka iste vrste i srodnih područja primjene je nemoguć i to je problem.

Parsing je širok spektar aplikacija za sisteme upravljanja bazama podataka. Prije svega, to je skeniranje informacija sa Interneta. Jednako je važno uporediti informacije prikupljene ubaza podataka i zahtjevi posjetitelja.

Analiza ključnih riječi također uključuje potrebu za formiranjem optimalnog rješenja, ali dizajn baze podataka na Access-u može biti obećavajući nego na MS SQL Serveru ili Oracleu.

Lista izvora informacija može biti dinamična. Dinamika može biti svojstvena tabelama izvorne baze podataka, nazivima polja tablice i pravilima poziva (upita). Dizajniranje relacijskih baza podataka iz više izvora jasno vas prisiljava da dizajnirate iz izvornih podataka, a ne iz optimalne organizacije prikupljenih informacija.

Postoje dvije stvari koje su inherentne svakoj bazi podataka:

  • orijentacija na sadržaj, dinamički algoritam generiranja baze podataka u prioritetu;
  • orijentacija za korištenje, struktura baze podataka je važnija i na njoj se bazira algoritam za korištenje informacija.

U bilo kojoj oblasti primene postoji formalni model dolaznog toka informacija, model skladištenja informacija - stvarni dizajn baze podataka i model (algoritam) za korišćenje podataka.

Različite procedure i koraci dizajna

Osnove dizajna baze podataka obično se dijele u tri faze. Različiti stručnjaci na različite načine govore o fazama rada, ali, u stvari, postoje tri pozicije:

  • konceptualno planiranje;
  • logički dizajn;
  • tehničko izvršenje.

Praksa doprinosi uspostavljenoj tradiciji. Bez obzira koliko složeni obim i problem koji se rješava. Uvijek je potrebno odabrati pravialata. Na primjer, trebate prikupiti informacije od posjetitelja web resursa, ali ih morate uporediti sa podacima iz MS SQL Servera. Web resurs je hostovan na FreeBSD (Internet, Apache server), a MS SQL Server u drugom gradu je dostupan preko distribuirane mreže kompanije.

osnove dizajna baze podataka
osnove dizajna baze podataka

U ovom rješenju, prvo morate riješiti određeni problem: uspostaviti razmjenu podataka sa internim serverom.

Tehničko izvršenje uobičajenog zadatka će nužno imati uticaja na početnu fazu: retko je da se dizajn baze podataka može uraditi od nule. Čak i uz dokazanu tehnologiju rješavanja problema, opseg se razvija, uvijek je potrebno učiniti nešto drugačije nego što je prvobitno zamišljeno.

U posljednje vrijeme mnogi teoretičari i praktičari rade sa entitetima kao posebnim podacima. Ovo su apstrakcije koje vam omogućavaju da opišete model informacija na ulazu, tokom obrade iu konačnom rezultatu - bazi podataka.

Pregledi podataka i entiteta

DB dizajn kroz apstrakcije i entitete: mogućnost kreiranja slike informacija, definiranja tipova podataka i odnosa između njih.

Obično se takav dizajn modela baze podataka završava grafičkim modelom, koristeći MS Visio ili vizualne alate odabranog DBMS-a. Access ima svoj način formiranja informacijske slike, MySQL ima svoj, a neki sistemi za upravljanje sadržajem u potpunosti sakrivaju bazu podataka, namećući programeru model podataka kroz sopstvene entitete -objekti zadatka koji se rješava.

Karakteristična karakteristika mnogih sistema za upravljanje sadržajem (CMS) je da oni prave "aplikaciju" za nivo veće apstrakcije kada opisuju informacijsko područje problema koji se rješava. Prava baza podataka je skrivena, CMS nudi programeru vlastitu ideju o informacijskoj slici svijeta.

Kao rezultat toga, faze dizajna baze podataka su svedene na poštovanje osnovnih zahtjeva i izvršavanje koraka koje predlažu kreatori određenog CMS-a. Nema ničeg sramotnog u korištenju ideja baza podataka i njihovog dizajna iz Symfonyja ili Bitrixa, Zenda ili Yiia, ali za programere je to "teret".

U idealnom slučaju, alate za dizajn baze podataka treba odabrati i primijeniti pojedinačno, bez vanjskog mišljenja, ali uz primjenu iskustva i znanja.

dizajn baze podataka
dizajn baze podataka

Idealno za programera koji treba da bude certificiran od strane Oraclea, ali savršeno prihvatljivo za kvalifikacije programera da uključuje uvid u Oracleove informacijske ideje i radno znanje o MySQL aplikacijama.

U složenim projektima i distribuiranoj obradi informacija nije važna samo baza podataka, već i izvori informacija, ideje o potrebama potrošača.

Etape ili tim: balans prioriteta

Zahtjev konzistentnosti je od najveće važnosti. Osnove dizajna baze podataka takođe uključuju faziranje rada, praćenje međurezultata, preispitivanje svake završene faze na osnovu izvođenja sledećeg tipa posla:

  • sistematski;
  • faziranje;
  • povratna informacija od bilo koje tačke u vremenu, do same početne pozicije.

Ove odredbe su apstraktne, ali prisutne u bilo kojoj teorijskoj i praktičnoj tehnologiji za kreiranje efikasne baze podataka.

Nijedna tehnologija se ne razvija sama od sebe, pokreću je ljudi. Kvalifikacije razvojnog tima su od suštinskog značaja. Informacijski model baze podataka nije samo okvir, već i tokovi informacija.

Ono što je još važnije: lijepa grafika u prikazu strukture baze podataka ili tačan opis tokova informacija u dinamici - stvar nije samo zadatka i obima, već i mišljenja razvojnog tima u dinamici.

dizajn strukture baze podataka
dizajn strukture baze podataka

Osoblje je sve, ali u kontekstu: konceptualni dizajn baze podataka je sve kvalifikacija. Svi ljudi su jedinstveni, a u oblasti informacionih sistema postoje i razvijaju se predstave konkretnih ljudi.

Važno je izgraditi tim programera, a ne neke mitske korake dizajna baze podataka koje je predložio autoritativni stručnjak. Autoritet ovog specijaliste formiran je na osnovu konkretnih radova, u određeno vrijeme. Posao treba obaviti danas, novi zadatak, moderna oprema, svježa tehnologija,…

Moguće obrnuto. U tim formatima postoje Excel i Access i "izobilje" podataka iz davnih vremena, kada je Windows za Workgups još bio živ i zdrav. Djelomično su ostali dBase i Quattro podaci. Danas su ove riječi već zaboravljene, ali informacijaostao, tražen je i treba ga izvlačiti i formirati nove ideje.

Staro i novo: balans znanja

Cloud tehnologija nije poput baza podataka koje je radila Ashton-Tate. Ono što je Oracle nekada kupio ni na koji način se ne može porediti sa onim što radi danas. Ali varijable, algoritmi, funkcije, petlje i uslovi ostali su u programiranju od ranih 80-ih. Osim ako koncept postupka nije potonuo u zaborav, a sve ostane kao što je bilo u davna vremena.

Čak su i moderne ideje objektno orijentisanog programiranja obučene u klasične sintaktičke i semantičke "okove" prošlog veka.

Šta da se radi - programiranje je inercijalno, a formalizacija informacija i dizajn baza podataka je više proces nego rezultat. Etapni rad je preduslov za postizanje rezultata. Ali ko je prebrojao broj iteracija od međufaza skoro do početka rada?

Informacije su uvijek dinamične, ništa ne miruje: posebno predmetno područje zadatka i zahtjevi korisnika. Svaka završena faza rada vam omogućava da na novom nivou ocijenite šta je već urađeno, a šta ostaje da se uradi.

logički dizajn baze podataka
logički dizajn baze podataka

Razmatrati dizajniranje strukture baze podataka kao zadatak i dobiti konačni rezultat je uzaludno. Čim baza bude puštena u rad, sigurno će se pojaviti nova ideja, čak i ako je alat za kreiranje baze podataka bio „jednostavan“Excel, a ne fantastično moćan i svestran proizvod iz Oraclea,manipulisanje milionima transakcija, stotinama hiljada istovremenih korisnika i terabajtima informacija.

Prioritet nije struktura baze podataka, već formiranje kvalifikovanog tima stručnjaka, plus obavezan zahtjev za većom dinamikom rezultata, kako po završetku posla ne bi bilo potrebno kontaktirati programeri, najmanje par mjeseci.

Sekvencijalni razvoj i/ili skokovi u vis

Windows nije baza podataka, ali ima relikt - registar. Datoteka hosts je jednostavno identifikacija IP adresa i simboličkih imena lokalne mašine. Ali kroz ovaj fajl se formiraju informacije koje teku iz različitih domena ili u različite DBMS-ove.

Moguće je shvatiti višestrani Windows kao radni računar ili server, ali to neće raditi ni na koji način da opravda logiku verzija ovog proizvoda. PHP takođe nije baza podataka, ali argumenti programera zašto verzija 5 odmah slijedi verziju 7 su nedosljedni. PHP je MySQL pristupni alat, njegova sintaksa definira kako se formiraju upiti i dobivaju odgovori iz baze podataka koristeći SQL dijalekt.

Primjeri nekompatibilnosti između modernih programskih alata i podrške za baze podataka postali su norma posljednjih godina, ali ovo nije najoriginalniji. Šta će stajati iza verzije Windows 10? Kakvi su izgledi za Oracle Database 12c?

Informacija programera-autora: Oracle Database 11g Express Edition (Oracle Database XE) je početni nivo DBMS baziran na Oracle Database 11g Release 2 DBMS kodu. Ovaj DBMS je besplatan za razvoj,implementacija i prodaja, brzo preuzimanje i lako administriranje.”

Perspektiva programera korisnika: “Oracle je 2013. godine izdao Oracle Database 12c (verzija 12.1.0.1) sa ključnim prednostima nižih troškova skladištenja, visoke dostupnosti podataka, jednostavne konsolidacije baze podataka i zaštite pristupa podacima “.

Prava praksa: Objektivan, efikasan i efikasan logički dizajn baze podataka dostupan je samo timu kvalifikovanih programera. Nije teško dobiti radni rezultat, teško je formalizirati dolazne tokove informacija i odrediti optimalnu osnovu.

U svijet glatkih oblika iz preciznih pravokutnika

Sa pojavom objektno orijentisanog programiranja, serijalizacija podataka je dobila novi život. Zaista, sve okolo su samo linije, po mogućnosti neodređene dužine. Brojevi i datumi su također nizovi znakova.

Moć i objektivnost relacionih odnosa je neosporna, ali da li dinamika kolona i redova šteti njihovoj reputaciji? Tabela je jednostavno podatak koji može imati zaglavlje (lista kolona) ili bez redaka. Neka tabela bude samo kolekcija podataka, bez obaveznog naziva.

Skup podataka može biti heterogen iu njemu možete pronaći podatke različite strukture. U osnovi, homogenost podataka ukazuje na razvoj obima. Distribucija podataka po vrstama i vrstama znak je sistematskog i objektivnog pristupa, ali je ipak preporučljivo priznati mogućnost dinamike strukture.

Ako izlazdizajniranje i kreiranje baze podataka izvan rigidnih struktura i uz pretpostavku da je tabela kolekcija redova koji nisu nužno istog tipa i slični u semantici jedan drugome, tada će se dizajn baze podataka dramatično promijeniti.

Predmet rada neće biti opis strukture baze podataka, već dinamika kretanja informacija. Faze rada će biti podijeljene u tri centra gravitacije:

  • protok informacija;
  • transformacija i kretanje informacija unutar baze podataka;
  • odaberite podatke za upotrebu.

Ne postoji koncept strukture tabele. Nema redova ili kolona. Postoji apstrakcija - datost, određene strukture, koja zadovoljava određenu tačku u algoritmu. Konkretnije, funkcija obrade informacija zahtijeva određene informacije u određenoj količini.

Obavezni zahtjev rekurzivnosti svih funkcija obrade informacija i fokusa na funkcije, a ne na podatke, omogućava vam da dizajnirate bazu podataka u dinamici akumuliranih informacija i dolaznog toka podataka, koji se koriste na inicijativu korisnika, proces ili druga funkcija.

U stvari: stigao je signal upotrebe, primljen je zahtjev za preuzimanje, pokrenut je okidač u aplikaciji, a dolazne informacije, kroz ono što je već bilo tamo, dale su željeno rješenje.

Osnovno znanje i krute konstrukcije

Znanje je prerogativ čovjeka, programi su teret kompjutera. Programer je slobodan da primijeni znanje kako smatra prikladnim u određenoj situaciji. Običan čovjek koristi mnogo baza podataka, ne pridajući im važnost. kakobaze podataka su organizovane u glavi običnog čoveka, niko ne zna, ali svako zna kako vodi svoj posao, gde zapisuje šta nađe i kada to treba da koristi.

Rezultat rada programera - na nivou programa u "Basic-u", koji preuzima podatke sa web stranice online trgovine putem ODBC-a, ekvivalentan je Oracle programeru sa naslovom koji postavlja zahtjev za preuzimanje podataka iz Vazdušno-kosmičkog salona MAKS. Oba rezultata se "zamrzavaju" u statici od trenutka kada je posao završen. Ovo nije aktivno znanje koje osoba koristi, ovo je tajna kreiranja sistema dizajna baze podataka.

Algoritam se ne može popraviti. Sve mora biti definirano dinamički. Zasluge kvalifikovanih programera su neosporne, ali one uopšte ne leže u elegantnim oblicima rešenja iz Oraclea, MySQL-a ili Access-a, koji je ograničen u svojim mogućnostima. Druga Excel tabela može pružiti dinamičan sadržaj i ne zahtijeva učešće programera manje-više pristojno vrijeme nakon završetka posla.

Pitanje je koliko je dobro formalizirana dinamika područja primjene, a ne struktura baze podataka.

Live Solutions

Nemoguće je planirati posao na način da se za zadatak veže tim profesionalnih programera. Nije da se ekipa uvrijedila, ali ovo nije pravi pristup.

Live Solutions
Live Solutions

Zadatak projektovanja baze podataka treba formulisati na način da se razvijena funkcionalnost unapredi, akumulira znanje i da u obavljanju svojih „dužnosti“polazi ne od koda,kreirali stručnjaci, ali iz znanja stečenog kroz ovaj kod.

Preporučuje se: