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 opseg, specifičan zadatak, opis dolaznog toka informacija i opće ideje o procesu obrade informacija postupno se zbrajaju na određenu konceptualnu ideju o tome što je baza podataka u određenom slučaju i kako raditi s njim.

Moderna baza podataka

Relacijski odnosi su u srcu svakog informacijskog modela. Rješenja iz Oraclea u biti su ekvivalentna MySQL-u, ali se bitno razlikuju u mnogim aspektima. Dizajn baze podataka također je pitanje sigurnosti, količine informacija i odgovornosti za integritet podataka, ali oni su sekundarni u odnosu na pitanje dizajniranja učinkovite, pouzdane i korisniku prilagođene baze podataka.

koraci dizajna baze podataka
koraci dizajna baze podataka

Excel tablice se ne razlikuju od Oraclea i MySQL-a u kontekstu pravokutnih (relacijskih) struktura: stupci i retki=jedna ćelija na sjecištu naziva stupca (polja) i indeksa odabira (redak). Ako ne uzmete u obzir mjeru i količinu ručnog rada, tada je, zahvaljujući razvijenim sredstvima za vertikalno i horizontalno kombiniranje ćelija, Excel ispred čak i Oraclea!

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

Relacijski odnosi su prikladni, praktični i dobro uhodani alati, od privatnih rješenja na razini Excela do globalnih volumena Oraclea, koriste se posvuda, traže se i imaju zajamčenu budućnost za posao.

Moderna baza podataka su tablice, retki, stupci i indeksi okruženi punom funkcionalnošću, razvijenim dodatnim alatima koji uzimaju u obzir više operacija, velika opterećenja i ogromne količine.

Poznavanje i iskustvo suvremenih sustava upravljanja bazama podataka (DBMS) uzimaju u obzir ne samo pitanja pouzdanosti, pouzdanosti podataka, regulacije pristupa i sigurnosnih pitanja, već omogućuju praćenje negativnih vanjskih utjecaja, analizu mogućih napadai pokušava namjerno ozlijediti.

Moderna baza podataka je pouzdan temelj za bilo koji web resurs i lokalnu aplikaciju, mogućnost migracije informacija, transformacije i prijenosa podataka, presijecanja i kombiniranja različitih pogleda.

Jedini bitan uvjet: visoko kvalificirani programer. Za učinkovito dizajniranje relacijskih baza podataka dostupan je stručnjak, a češće tim stručnjaka i stručnjaka iz područja primjene problema koji se rješava.

Opseg, moguće rješenje i prepreke

Informacije kruže posvuda. Mnogi su projekti izravno povezani s internetom, ali faktor formalnog prikaza podataka ovdje nije ništa bolji od faktora nesigurnosti prilikom izrade web resursa za čeličanu.

Razvoj i veliko zanimanje za internetske trgovine ne daje osnove i mogućnosti za prijenos iskustva stvaranja jedne trgovine na stvaranje druge. Čimbenik poslovne tajne stvara mnoge prepreke prijenosu znanja, iako biste, zapravo, trebali odvojiti stvarnu trgovinu od softverskih alata kreiranih za ovu trgovinu.

dizajn relacijske baze podataka
dizajn relacijske 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 povezanih područja primjene je nemoguć i to je problem.

Parsing je širok raspon aplikacija za sustave upravljanja bazama podataka. Prije svega, to je skeniranje informacija s Interneta. Jednako je važno usporediti informacije prikupljene ubaza podataka i zahtjevi posjetitelja.

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

Popis izvora informacija može biti dinamičan. Dinamika može biti svojstvena tablicama 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 temelji algoritam za korištenje informacija.

U bilo kojem području primjene postoji formalni model dolaznog toka informacija, model pohrane informacija - stvarni dizajn baze podataka i model (algoritam) za korištenje podataka.

Različiti postupci 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, zapravo, postoje tri pozicije:

  • konceptualno planiranje;
  • logičan dizajn;
  • tehnička izvedba.

Praksa doprinosi uspostavljenoj tradiciji. Bez obzira koliko je složen opseg i problem koji se rješava. Uvijek je potrebno odabrati pravialata. Na primjer, trebate prikupiti informacije od posjetitelja web resursa, ali ih morate usporediti s podacima iz MS SQL Servera. Web resurs se nalazi na FreeBSD (Internet, Apache poslužitelj), a MS SQL Server u drugom gradu dostupan je putem distribuirane mreže tvrtke.

osnove dizajna baze podataka
osnove dizajna baze podataka

U ovom rješenju prvo morate riješiti određeni problem: uspostaviti razmjenu podataka s internim poslužiteljem.

Tehničko izvođenje uobičajenog zadatka nužno će imati utjecaja na početnu fazu: rijetko je da se dizajn baze podataka može napraviti 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 s entitetima kao posebnim podacima. To su apstrakcije koje vam omogućuju da opišete model informacija na ulazu, tijekom obrade i u konačnom rezultatu - bazi podataka.

Prikazi podataka i entiteta

DB dizajn kroz apstrakcije i entitete: mogućnost stvaranja informacijske slike, definiranja tipova podataka i odnosa među njima.

Obično 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 sustavi za upravljanje sadržajem u potpunosti skrivaju bazu podataka, namećući programeru model podataka kroz vlastite entitete -objekti zadatka koji se rješava.

Karakteristična značajka mnogih sustava za upravljanje sadržajem (CMS) je da oni prave "aplikaciju" za razinu 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 svode se na poštivanje temeljnih zahtjeva i izvođenje koraka koje su predložili 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 developera to je "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 razvojnog programera koji mora biti 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 za dosljednost je od najneposrednije važnosti. Osnove dizajna baze podataka također uključuju faziranje rada, praćenje međurezultata, ponovno promišljanje svake završene faze na temelju izvođenja sljedeće vrste posla:

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

Ove odredbe su apstraktne, ali prisutne u svakoj teoretskoj i praktičnoj tehnologiji za stvaranje učinkovite baze podataka.

Nijedna tehnologija se ne razvija sama od sebe, pokreću je ljudi. Kvalifikacije razvojnog tima su bitne. 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 točan opis tokova informacija u dinamici - stvar nije samo zadatka i opsega, 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 području informacijskih sustava postoje i razvijaju se reprezentacije 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 stručnjaka formiran je na temelju konkretnih radova, u određeno vrijeme. Posao treba obaviti danas, novi zadatak, moderna oprema, svježa tehnologija,…

Moguće obrnuto. U tim formatima ima Excela i Accessa i "izobilja" 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: ravnoteža znanja

Cloud tehnologija nije poput baza podataka koje je napravio Ashton-Tate. Ono što je Oracle nekada kupio ni na koji način se ne može usporediti s onim što radi danas. Ali varijable, algoritmi, funkcije, petlje i uvjeti ostali su u programiranju od tih 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 orijentiranog programiranja zaodjenute u klasične sintaktičke i semantičke "okove" prošlog stoljeća.

Što učiniti - programiranje je inercijalno, a formalizacija informacija i dizajn informacijskih baza podataka je više proces nego rezultat. Scenski rad je preduvjet za postizanje rezultata. Ali tko je izbrojao broj iteracija od međufaza gotovo 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 omogućuje vam da na novoj razini ocijenite ono što je već učinjeno i što još treba učiniti.

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

Uzaludno je razmišljati o dizajniranju strukture baze podataka kao zadatku i dobiti konačni rezultat. Čim baza bude puštena u rad, zasigurno će se pojaviti nova ideja, čak i ako je alat za izradu baze podataka bio „jednostavan“Excel, a ne fantastično moćan i svestran proizvod Oraclea,manipuliranje milijunima transakcija, stotinama tisuća istodobnih korisnika i terabajtima informacija.

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

Sekvencijski razvoj i/ili skokovi u vis

Windows nije baza podataka, ali ima relikt - registar. Datoteka hosts jednostavno je identifikacija IP adresa i simboličkih imena lokalnog stroja. Ali kroz ovu datoteku formiraju se tokovi informacija iz različitih domena ili u različite DBMS-ove.

Moguće je razumjeti višestrani Windows kao radno računalo ili poslužitelj, ali to neće funkcionirati ni na koji način kako bi opravdalo logiku verzija ovog proizvoda. PHP također nije baza podataka, ali argumenti programera zašto verzija 5 odmah slijedi verziju 7 su nedosljedni. PHP je alat za pristup MySQL, njegova sintaksa definira kako formirati upite i dobiti odgovore 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 najizvorniji. Što će biti 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 DBMS baziran na Oracle Database 11g Release 2 DBMS kodu. Ovaj DBMS je besplatan za razvoj,implementacija i prodaja, brzo preuzimanje i jednostavno upravljanje.”

Perspektiva razvojnog programera korisnika: „Oracle je 2013. izdao Oracle Database 12c (verzija 12.1.0.1) s ključnim prednostima nižih troškova pohrane, visoke dostupnosti podataka, jednostavne konsolidacije baze podataka i zaštite pristupa podacima "".

Prava praksa: Objektivan, učinkovit i učinkovit logički dizajn baze podataka dostupan je samo timu kvalificiranih programera. Nije teško dobiti radni rezultat, teško je formalizirati dolazne tokove informacija i odrediti optimalni temelj.

U svijet glatkih oblika iz preciznih pravokutnika

Pojavom objektno orijentiranog programiranja, serijalizacija podataka dobila je novi život. Doista, sve okolo su samo linije, po mogućnosti neodređene duljine. Brojevi i datumi su također nizovi znakova.

Moć i objektivnost relacijskih odnosa je neporeciva, ali šteti li dinamika stupaca i redaka njihovoj reputaciji? Tablica je jednostavno podatak koji može imati zaglavlje (popis stupaca) ili bez redaka. Neka tablica bude samo zbirka podataka, ne mora nužno biti imenovana.

Skup podataka može biti heterogen i u njemu možete pronaći podatke različite strukture. U osnovi, homogenost podataka ukazuje na razvoj opsega. Distribucija podataka po vrstama i vrstama znak je sustavnog i objektivnog pristupa, no ipak je preporučljivo dopustiti mogućnost dinamike strukture.

Ako je izlazprojektiranje i stvaranje baze podataka izvan krutih struktura i uz pretpostavku da je tablica zbirka redaka koji nisu nužno istog tipa i međusobno slični u semantici, tada će se dizajn baze podataka dramatično promijeniti.

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

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

Ne postoji koncept strukture tablice. Nema redaka ni stupaca. Postoji apstrakcija - datost, određene strukture, koja zadovoljava određenu točku u algoritmu. Točnije, funkcija obrade informacija zahtijeva određene informacije u određenoj količini.

Obvezni zahtjev rekurzivnosti svih funkcija obrade informacija i fokusa na funkcije, a ne na podatke, omogućuje dizajniranje baze podataka u dinamici akumuliranih informacija i dolaznog toka podataka, koji se koriste na inicijativu korisnika, proces ili drugu funkciju.

Zapravo: stigao je signal upotrebe, primljen je zahtjev za dohvaćanje, pokrenut je okidač u aplikaciji, a dolazne informacije, kroz ono što je već bilo tamo, pružile su željeno rješenje.

Temeljno znanje i krute konstrukcije

Znanje je prerogativ čovjeka, programi su teret računala. Programer je slobodan primijeniti znanje kako smatra prikladnim u određenoj situaciji. Obična osoba koristi mnogo baza podataka, ne pridajući im važnost. kakobaze podataka su organizirane u glavi običnog čovjeka, nitko ne zna, ali svi znaju kako vodi svoj posao, gdje zapisuje što nađe i kada to treba koristiti.

Rezultat rada programera - na razini programa u "Osnovnom", koji dohvaća podatke s web stranice online trgovine putem ODBC-a, jednak je Oracle programeru s naslovom koji postavlja zahtjev za dohvaćanje podataka iz Zrakoplovno-svemirskog salona MAKS. Oba rezultata "zamrznu" u statički od trenutka završetka rada. Ovo nije aktivno znanje koje osoba koristi, ovo je tajna stvaranja sustava dizajna baze podataka.

Algoritam se ne može popraviti. Sve se mora definirati dinamički. Zasluge kvalificiranih programera su neosporne, ali one uopće ne leže u elegantnim oblicima rješenja iz Oraclea, MySQL-a ili Accessa, koji je ograničen u svojim mogućnostima. Druga Excel proračunska tablica može pružiti dinamičan sadržaj i ne zahtijeva sudjelovanje programera više ili manje 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.

Živa rješenja
Živa rješenja

Zadatak dizajniranja baze podataka treba biti formuliran na način da se razvijena funkcionalnost poboljšava sama, akumulira znanje i u obavljanju svojih "dužnosti" polazi ne od koda,kreirali stručnjaci, ali iz znanja stečenog kroz ovaj kod.

Preporučeni: