Opracowanie zagadnień na bazy PDF

Title Opracowanie zagadnień na bazy
Course Bazy danych II
Institution Politechnika Opolska
Pages 9
File Size 298.6 KB
File Type PDF
Total Downloads 18
Total Views 129

Summary

Download Opracowanie zagadnień na bazy PDF


Description

TRANSAKCJE: 1.POJECIEIWŁAŚCIWOŚCITRANSAKCJICOTOJEST,WŁAŚCIWOŚCIACID.  Transakcjasekwencjalogiczniepowiązanychoperacjinabaziedanych,któraprzeprowadza bazędanychzjednegostanuspójnegowinnystanspójny.Typyoperacjinabaziedanych obejmują:odczytizapisdanychorazzakończenieiakceptację(zatwierdzenie),lubwycofanie transakcji. ACIDzbiórwłaściwości,któregwarantująpoprawneprzetwarzanietransakcjiwbazach danych(atomicity,consistency,isolation,durability) atomowośćgdyczęśćtransakcjizawodzi,całatransakcjaniedochodzidoskutkustanbazy danychpozostajeniezmieniony. spójnośćkażdatransakcjamusiprzeprowadzaćbazęzjednegopoprawnegostanudo innego.Każdawykonanaoperacjamusispełniaćwszystkiezdefiniowaneograniczenia (constrainty,kaskady,triggery

  izolacjawspółbieżnewykonanietransakcjipowinnoskutkowaćstanemsystemu,którymógłby powstaćwsytuacjigdybytransakcjetebyływykonywanejednapodrugiej.

   trwałośćpozatwierdzeniu(commit)transakcji,rezultatymusząbyćtrwalezachowane (niezależnieodbłędów,awariiitd).

  2.POLECENIASQLZWIAZANEZPRZETWARZANIEMTRANSAKCYJNYM.  COMMITzatwierdzeniezmianwykonanychwobrębietransakcji; ROLLBACKodrzuceniezmianwykonanychwobrębietransakcji; PROCEDUREprocedura EXCEPTIONwyjątek CHECKPOINT–miejscewtransakcji AUTOCOMMIT–samoczynnecommitowaniepoinstrukcjach SAVEPOINT[nazwa]zdefiniowaniepunktupośredniegoookreślonejnazwie; RELEASESAVEPOINT[nazwa]skasowaniepunktupośredniego(niewpływawżaden sposóbnastantransakcji); ROLLBACKTOSAVEPOINT[nazwa]wycofanietransakcjidostanuzapamiętanegow podanympunkciepośrednim; BEGINlubBEGINWORKrozpoczęcietransakcji;      

PORZĄDKOWANIEBAZYDANYCH: 3.NACZYMPOLEGASORTOWANIEBAZDANYCHIWJAKIMCELUSIESORTUJE.  Proces polegający na odpowiednim ułożeniu rekordów w tabeli bazy danych, który zależy od przyjętego sposobu porządkowania tabeli; tabela bazy danych jest sortowana wierszami (góra-dół), w czasie sortowania zmianie ulega kolejność wierszy w tabeli, nie zmienia się natomiast kolejność kolumn; sortowanie może się odbywać według jednego wybranego pola lub kilku pól rekordu. Stosuje się to w celu przyspieszenia oraz wyszukiwania danych.

Danenieuporządkowane–przeszukiwanieliniowe,złożonośćO(n) Daneuporządkowane–wykorzystujemyalgorytmprzeszukiwaniabinarnegoO(log2(n))    Mechanizmporządkowania SortowanieSORT:tworzytabelenowąztąsamąstrukturądanychcowtabeliźródłoweji sortujedanewedługkluczasortowania Kluczesortowania: prosty(pokolumnach) złożony(wielekolumn,ztymzesortujewedługpierwszejkolumny,jeśliwkolumniepierwszej cośsiępowtarza,tosortujewedługdrugiej)  Wadysortowania: Problemsortowaniapoleganaduplikowaniudanych(tesamedanewwielutabelach). Częstezmianytabelipierwotnejwymuszaponownesortowanie.  4.INDEKSOWANIEBAZDANYCH(RODZAJEINDEKSÓW)KLASYCZNY,BITMAPOWY.  Indeksowanietworzyspecjalnatabelektórazbudowanajestz2kolumn(kluczaindeksowaniai numeruwiersza).Dlakażdegokluczaindeksowaniatworzysięodrębnatabela,więcdotabeli przypisanesąróżneindeksy.Indeksyniepotrzebujądużejilościpamięci(tylkodwiekolumny)i niekopiującałejtabeli.Razuruchomioneindeksowanienaserwerzedziaładokońca“życia” serweracospowalniajegodziałanieprzydużejilościindeksów.  Zalety: • Samoczynnamodyfikacjaindeksów–serwerutrzymujeaktualneindeksy • Nieprzestawiawierszówtabeli–określakolejnośćoperacjinawierszach   Jestobiektembazodanowymniezależnymlogicznieifizycznieodtabeli.Pozwalauzyskać szybszydostępdodanych.Indeksyzakładasięnakolumnęwtabeli,kilkakolumnnaraz(do32). Beznichwszystkobędziedziałać,jednakindeksypozwoląnamszybciejdostaćsiędodanych. Indeksyprzechowująwartościkolumnnaktóresąnakładane,orazIDwiersza.

Rodzajeindeksów  Btree:Najczęściejwykorzystywaneindeksy.Wykorzystujesięjetamgdziedanewkolumnach naktórezakładasiętakiindekssądośćmocnozróżnicowane.Przykładowonrpeselwtabelize wszystkimiobywatelamiPolski.Nieprzechowujewartościnullowych.Tworzenie:  CREATEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY)  Bitmapowe:Wykorzystujejesiętamgdziejestmałezróżnicowaniedanychnp.nazwa województwawtabelizewszystkimiobywatelamiPolski.Przechowujewartościnullowe.Nie występująwwersjiExpressEditionOracle.  CREATEBITMAPINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY)  Złożone:Składająsięzwiększejniżjednailościkolumn.Stosujesięjekiedywwarunkuwhere, podczasłączeniatabellubwgrupowaniuwystępujekilkakolumnnaraz.Powinnosięstosować windeksietakąkolejnośćkolumnjakwystępujewzapytaniach.  CREATEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY1, NAZWAKOLUMNY2)  Unikalne:Zakładanenatekolumnywktórychwartościsąunikalne.Umożliwiająstosowanie uniquescan.  CREATEUNIQUEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY)  Funkcyjne:Opartenafunkcjachktóreprzetwarzajązawartośćkolumnnaktóresąnakładane. Stosujesięjekiedywtabelimamydanenieprzetworzone,awykorzystujemyprzetworzonew zapytaniach.  CREATEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY*2)  

ZŁĄCZENIATABEL: 5.WEWNĘTRZNE,ZEWNĘTRZNE,SKŁADNIA.

ZłączeniewewnętrzneINNERJOIN Jeżeliniezostałotoinaczejsprecyzowane,todomyślniezłączenietabelwzapytaniuSQLjest traktowanejakozłączeniewewnętrzne(INNERJOINlubpoprostuJOIN)Złączeniewewnętrzne kojarzyzesobąrekordywystępującewdwóchlubwięcejtabelachizwracawwynikutylko pasującerekordy.Złączeniewewnętrznemożebyćzdefiniowanewsposóbjasnookreślony (wyraźny)lubdomniemany.Złączeniedomniemanejestbardziejintuicyjneinajczęściej spotykane.Przykładowezapytanie: SELECT*FROMtab1,tab2 WHEREtab1.ID=tab2.ID/  SELECT*FROMtab1 INNERJOINtab2 ONtab1.ID=tab2.ID

ZłączeniezewnętrzneOUTERJOIN ŁączeniezewnętrznetabeljestrozszerzeniemzłączeniaINNERJOIN.OUTERJOINpozwala nawłączeniedotabeliwynikowejrekordówktórekwalifikująsiędotabeliwynikowejnapodstawie poleceniaINNERJOINidodatkowowłączyćwybranerekordyniespełniającewarunków zapytania. Złączeniezewnętrznemożeprzybraćnastępującepostacie: ZłączenieleweLEFTOUTERJOIN Wzłączeniuzewnętrznymlewymzwracanesąwszystkiewierszewystępującewtabeli zlewejstrony,awierszezprawejtabeli,któreniezostałyznalezione,wypełnionesą wartościaminull.  SELECT* FROMTab1 LEFTOUTERJOINTab2ONTab1.ID=Tab2.ID; ZłączeniepraweRIGHTOUTERJOIN Wzłączeniuzewnętrznymprawymzwracanesąwszystkiewierszewystępującew tabelizprawejstrony,awierszezlewejtabeli,któreniezostałyznalezione,wypełnione sąwartościaminull. SELECT* FROMTab1 RIGHTOUTERJOINTab2ONTab1.ID=Tab2.ID; ZłączeniepełneFULLOUTERJOIN WrezultatachzapytaniaSQLobecnesąwierszezłączonewewnętrznie,rozszerzoneo rekordyniezwróconezobydwutabel,wypełnionenullami SELECT* FROMTab1

FULLOUTERJOINTab2ONTab1.ID=Tab2.ID;   Należyzwrócićszczególnąuwagęnafakt,żerekordypowstałezezłączeńzewnętrznych zwracająwartościnullinależyjewewłaściwysposóbobsłużyć.  WjęzykuSQLwbaziedanychOraclemożnarównieżzastosowaćkrótszyiprostszysposób definiowaniazłączeńzewnętrznych(OUTERJOINS)zapomocąznaku(+),np: LEFTOUTERJOIN: SELECTtab1.*,tab2.Field1 FROMtab1,tab2 WHEREtab1.ID=tab2.ID(+);  RIGHTOUTERJOIN: SELECTtab1.*,tab2.Field1 FROMtab1,tab2 WHEREtab1.ID(+)=tab2.ID;  /?Złączenia: ∙Wewnętrzne(łączymywierszeodpowiadającesobiew2różnychtabelach) ∙Zewnętrzne  Wewnętrzne: Wzłączeniachjestskładniaklasycznaizłożona(complex).Wzłożonychdefiniujemyalieny(w FROM) inależygopotemużywać.  SkładniaANSI:złączenianaturalne(2tabelkolumnamiotejsamejnazwie);  wielutabel(najpierwłączymy2apotemdokładamytrzecią);  kartezjańskie.    Zewnętrzne(2tabelezłączonewarunkiem):  SELECTa.1_tab,b.2_tab FROMcos1a,cos2b  WHEREa1_tab_inne=b2_tab_inne  SkładniaANSI: Left/Right/FullouterJoin otherouter–tableJoins: ∙SelfJoin

∙NonequalityJoins(złączenianierównościowe) UNION–sumabezpowtórzeń?/   6.PODZAPYTANIASKORELOWANE,NIESKORELOWANE(WHERE,FROM).  Podzapytania–wjednymSELECTpojawiasięinnySELECT.Maksymalnie255zagnieżdżeń.  Skorelowanebierzewierszpowierszuiporównujejegozawartośćzwynikiempodzapytania.  Nieskorelowanenajpierwwykonujesiępodzapytanie,apotemjegowynikjestużywanyjako warunekwyboruwierszyprzezzapytanienadrzędne. 

HURTOWNIE: 7.ARCHITEKTURAHURTOWNIDANYCH.  Schematgwiazdyzłożonyztabelicentralnejtabelifaktów(lubmiar)zawierającejklucze obcedotabelwymiaróworazwłasneatrybutyzwanemiarami.Tabelewymiarówdlaschematu gwiazdyposiadająpostaćzdenormalizowanąwwieluwierszachpowtarzanesątesamedane. Płatekśniegutabelewymiarówsąznormalizowane(tznposiadająstrukturęhierarchiczną) Konstelacjifaktówschematgwiazdylubpłatkaśnieguwktórymtensamwymiarjest powiązanyzwielomatabelamifaktów Schematgwiazdypłatkaśnieguschematwktórymczęśćwymiarówmapostać znormalizowanąaczęśćmapostaćzdenormalizowaną. Schematgwiazdykaskadowejtabelewymiarówsamewsobiemogąstanowićtabelefaktów dlainnychtabel  Cechyhurtownidanych: ● Zorientowanatematycznienadanehistoryczne ● Zintegrowanabazadanych ● Daneprzechowywanewsposóbpewnyiniedoedycji ● Przewidzianajestpodgromadzenieianalizędanych ● Cojakiśczasdostarczanesąnowedane–hurtowniasięzmienia Architekturahurtownidanych: ● Podstawowy(basic) ● Zetapempośrednim(withastagingarea) ● Zetapempośrednimirynkiemdanych(||andDataMarts) 

 

 

           

8.STRUKTURYBAZDANYCHWHURTOWNIACH(TABELAFAKTÓW,TABELA WYMIARÓW,WYMIAR,ZMATERIALIZOWANYWIDOK)+POLECENIESQL.COTOJESTI JAKTOZROBIĆ.    Tabelafaktów: ● Zawieranumerycznemiary ● Posiadawieloatrybutowykluczgłównyzłożonyzkluczyobcychodwołującychsiędo wymiarów ● Największyrozmiarspośródtabeltworzącychgwiazdę(typowozawieraponad90% danych) ● Jejrozmiarszybkosiępowiększa  Tabelewymiarów: ● Zawierająatrybutyopisowe ● Nadająznaczeniefaktom(definiująprzestrzeńfaktów) ● Zawierajądanerzadkopodlegającezmianom(zmianytypu:pojawianiesięnowych klientów,produktów)  Widokzmaterializowany: ● Fizycznieistniejącynadysku ● Przechowujewynikianaliz ● Dużadostępność,wkrótkimczasie.  PoleceniaSQL:  CREATEDIMENSION[nazwa] LEVEL[nazwa]IS([products].[prod_id]) LEVEL[subcategory]IS([products].[prod_subcategory] LEVEL[category]IS(...) HIERARCHYPROD_ROLLUP(...) ...


Similar Free PDFs