Title | Opracowanie zagadnień na bazy |
---|---|
Course | Bazy danych II |
Institution | Politechnika Opolska |
Pages | 9 |
File Size | 298.6 KB |
File Type | |
Total Downloads | 18 |
Total Views | 129 |
Download Opracowanie zagadnień na bazy PDF
TRANSAKCJE: 1.POJECIEIWŁAŚCIWOŚCITRANSAKCJICOTOJEST,WŁAŚCIWOŚCIACID. Transakcjasekwencjalogiczniepowiązanychoperacjinabaziedanych,któraprzeprowadza bazędanychzjednegostanuspójnegowinnystanspójny.Typyoperacjinabaziedanych obejmują:odczytizapisdanychorazzakończenieiakceptację(zatwierdzenie),lubwycofanie transakcji. ACIDzbiórwłaściwości,któregwarantująpoprawneprzetwarzanietransakcjiwbazach danych(atomicity,consistency,isolation,durability) atomowośćgdyczęśćtransakcjizawodzi,całatransakcjaniedochodzidoskutkustanbazy danychpozostajeniezmieniony. spójnośćkażdatransakcjamusiprzeprowadzaćbazęzjednegopoprawnegostanudo innego.Każdawykonanaoperacjamusispełniaćwszystkiezdefiniowaneograniczenia (constrainty,kaskady,triggery
izolacjawspółbieżnewykonanietransakcjipowinnoskutkowaćstanemsystemu,którymógłby powstaćwsytuacjigdybytransakcjetebyływykonywanejednapodrugiej.
trwałośćpozatwierdzeniu(commit)transakcji,rezultatymusząbyćtrwalezachowane (niezależnieodbłędów,awariiitd).
2.POLECENIASQLZWIAZANEZPRZETWARZANIEMTRANSAKCYJNYM. COMMITzatwierdzeniezmianwykonanychwobrębietransakcji; ROLLBACKodrzuceniezmianwykonanychwobrębietransakcji; PROCEDUREprocedura EXCEPTIONwyjątek CHECKPOINT–miejscewtransakcji AUTOCOMMIT–samoczynnecommitowaniepoinstrukcjach SAVEPOINT[nazwa]zdefiniowaniepunktupośredniegoookreślonejnazwie; RELEASESAVEPOINT[nazwa]skasowaniepunktupośredniego(niewpływawżaden sposóbnastantransakcji); ROLLBACKTOSAVEPOINT[nazwa]wycofanietransakcjidostanuzapamiętanegow podanympunkciepośrednim; BEGINlubBEGINWORKrozpoczęcietransakcji;
PORZĄDKOWANIEBAZYDANYCH: 3.NACZYMPOLEGASORTOWANIEBAZDANYCHIWJAKIMCELUSIESORTUJE. 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.
Danenieuporządkowane–przeszukiwanieliniowe,złożonośćO(n) Daneuporządkowane–wykorzystujemyalgorytmprzeszukiwaniabinarnegoO(log2(n)) Mechanizmporządkowania SortowanieSORT:tworzytabelenowąztąsamąstrukturądanychcowtabeliźródłoweji sortujedanewedługkluczasortowania Kluczesortowania: prosty(pokolumnach) złożony(wielekolumn,ztymzesortujewedługpierwszejkolumny,jeśliwkolumniepierwszej cośsiępowtarza,tosortujewedługdrugiej) Wadysortowania: Problemsortowaniapoleganaduplikowaniudanych(tesamedanewwielutabelach). Częstezmianytabelipierwotnejwymuszaponownesortowanie. 4.INDEKSOWANIEBAZDANYCH(RODZAJEINDEKSÓW)KLASYCZNY,BITMAPOWY. Indeksowanietworzyspecjalnatabelektórazbudowanajestz2kolumn(kluczaindeksowaniai numeruwiersza).Dlakażdegokluczaindeksowaniatworzysięodrębnatabela,więcdotabeli przypisanesąróżneindeksy.Indeksyniepotrzebujądużejilościpamięci(tylkodwiekolumny)i niekopiującałejtabeli.Razuruchomioneindeksowanienaserwerzedziaładokońca“życia” serweracospowalniajegodziałanieprzydużejilościindeksów. Zalety: • Samoczynnamodyfikacjaindeksów–serwerutrzymujeaktualneindeksy • Nieprzestawiawierszówtabeli–określakolejnośćoperacjinawierszach Jestobiektembazodanowymniezależnymlogicznieifizycznieodtabeli.Pozwalauzyskać szybszydostępdodanych.Indeksyzakładasięnakolumnęwtabeli,kilkakolumnnaraz(do32). Beznichwszystkobędziedziałać,jednakindeksypozwoląnamszybciejdostaćsiędodanych. Indeksyprzechowująwartościkolumnnaktóresąnakładane,orazIDwiersza.
Rodzajeindeksów Btree:Najczęściejwykorzystywaneindeksy.Wykorzystujesięjetamgdziedanewkolumnach naktórezakładasiętakiindekssądośćmocnozróżnicowane.Przykładowonrpeselwtabelize wszystkimiobywatelamiPolski.Nieprzechowujewartościnullowych.Tworzenie: CREATEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY) Bitmapowe:Wykorzystujejesiętamgdziejestmałezróżnicowaniedanychnp.nazwa województwawtabelizewszystkimiobywatelamiPolski.Przechowujewartościnullowe.Nie występująwwersjiExpressEditionOracle. CREATEBITMAPINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY) Złożone:Składająsięzwiększejniżjednailościkolumn.Stosujesięjekiedywwarunkuwhere, podczasłączeniatabellubwgrupowaniuwystępujekilkakolumnnaraz.Powinnosięstosować windeksietakąkolejnośćkolumnjakwystępujewzapytaniach. CREATEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY1, NAZWAKOLUMNY2) Unikalne:Zakładanenatekolumnywktórychwartościsąunikalne.Umożliwiająstosowanie uniquescan. CREATEUNIQUEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY) Funkcyjne:Opartenafunkcjachktóreprzetwarzajązawartośćkolumnnaktóresąnakładane. Stosujesięjekiedywtabelimamydanenieprzetworzone,awykorzystujemyprzetworzonew zapytaniach. CREATEINDEXNAZWAINDEKSUONNAZWATABELI(NAZWAKOLUMNY*2)
ZŁĄCZENIATABEL: 5.WEWNĘTRZNE,ZEWNĘTRZNE,SKŁADNIA.
ZłączeniewewnętrzneINNERJOIN Jeżeliniezostałotoinaczejsprecyzowane,todomyślniezłączenietabelwzapytaniuSQLjest traktowanejakozłączeniewewnętrzne(INNERJOINlubpoprostuJOIN)Złączeniewewnętrzne kojarzyzesobąrekordywystępującewdwóchlubwięcejtabelachizwracawwynikutylko pasującerekordy.Złączeniewewnętrznemożebyćzdefiniowanewsposóbjasnookreślony (wyraźny)lubdomniemany.Złączeniedomniemanejestbardziejintuicyjneinajczęściej spotykane.Przykładowezapytanie: SELECT*FROMtab1,tab2 WHEREtab1.ID=tab2.ID/ SELECT*FROMtab1 INNERJOINtab2 ONtab1.ID=tab2.ID
ZłączeniezewnętrzneOUTERJOIN ŁączeniezewnętrznetabeljestrozszerzeniemzłączeniaINNERJOIN.OUTERJOINpozwala nawłączeniedotabeliwynikowejrekordówktórekwalifikująsiędotabeliwynikowejnapodstawie poleceniaINNERJOINidodatkowowłączyćwybranerekordyniespełniającewarunków zapytania. Złączeniezewnętrznemożeprzybraćnastępującepostacie: ZłączenieleweLEFTOUTERJOIN Wzłączeniuzewnętrznymlewymzwracanesąwszystkiewierszewystępującewtabeli zlewejstrony,awierszezprawejtabeli,któreniezostałyznalezione,wypełnionesą wartościaminull. SELECT* FROMTab1 LEFTOUTERJOINTab2ONTab1.ID=Tab2.ID; ZłączeniepraweRIGHTOUTERJOIN Wzłączeniuzewnętrznymprawymzwracanesąwszystkiewierszewystępującew tabelizprawejstrony,awierszezlewejtabeli,któreniezostałyznalezione,wypełnione sąwartościaminull. SELECT* FROMTab1 RIGHTOUTERJOINTab2ONTab1.ID=Tab2.ID; ZłączeniepełneFULLOUTERJOIN WrezultatachzapytaniaSQLobecnesąwierszezłączonewewnętrznie,rozszerzoneo rekordyniezwróconezobydwutabel,wypełnionenullami SELECT* FROMTab1
FULLOUTERJOINTab2ONTab1.ID=Tab2.ID; Należyzwrócićszczególnąuwagęnafakt,żerekordypowstałezezłączeńzewnętrznych zwracająwartościnullinależyjewewłaściwysposóbobsłużyć. WjęzykuSQLwbaziedanychOraclemożnarównieżzastosowaćkrótszyiprostszysposób definiowaniazłączeńzewnętrznych(OUTERJOINS)zapomocąznaku(+),np: LEFTOUTERJOIN: SELECTtab1.*,tab2.Field1 FROMtab1,tab2 WHEREtab1.ID=tab2.ID(+); RIGHTOUTERJOIN: SELECTtab1.*,tab2.Field1 FROMtab1,tab2 WHEREtab1.ID(+)=tab2.ID; /?Złączenia: ∙Wewnętrzne(łączymywierszeodpowiadającesobiew2różnychtabelach) ∙Zewnętrzne Wewnętrzne: Wzłączeniachjestskładniaklasycznaizłożona(complex).Wzłożonychdefiniujemyalieny(w FROM) inależygopotemużywać. SkładniaANSI:złączenianaturalne(2tabelkolumnamiotejsamejnazwie); wielutabel(najpierwłączymy2apotemdokładamytrzecią); kartezjańskie. Zewnętrzne(2tabelezłączonewarunkiem): SELECTa.1_tab,b.2_tab FROMcos1a,cos2b WHEREa1_tab_inne=b2_tab_inne SkładniaANSI: Left/Right/FullouterJoin otherouter–tableJoins: ∙SelfJoin
∙NonequalityJoins(złączenianierównościowe) UNION–sumabezpowtórzeń?/ 6.PODZAPYTANIASKORELOWANE,NIESKORELOWANE(WHERE,FROM). Podzapytania–wjednymSELECTpojawiasięinnySELECT.Maksymalnie255zagnieżdżeń. Skorelowanebierzewierszpowierszuiporównujejegozawartośćzwynikiempodzapytania. Nieskorelowanenajpierwwykonujesiępodzapytanie,apotemjegowynikjestużywanyjako warunekwyboruwierszyprzezzapytanienadrzędne.
HURTOWNIE: 7.ARCHITEKTURAHURTOWNIDANYCH. Schematgwiazdyzłożonyztabelicentralnejtabelifaktów(lubmiar)zawierającejklucze obcedotabelwymiaróworazwłasneatrybutyzwanemiarami.Tabelewymiarówdlaschematu gwiazdyposiadająpostaćzdenormalizowanąwwieluwierszachpowtarzanesątesamedane. Płatekśniegutabelewymiarówsąznormalizowane(tznposiadająstrukturęhierarchiczną) Konstelacjifaktówschematgwiazdylubpłatkaśnieguwktórymtensamwymiarjest powiązanyzwielomatabelamifaktów Schematgwiazdypłatkaśnieguschematwktórymczęśćwymiarówmapostać znormalizowanąaczęśćmapostaćzdenormalizowaną. Schematgwiazdykaskadowejtabelewymiarówsamewsobiemogąstanowićtabelefaktów dlainnychtabel Cechyhurtownidanych: ● Zorientowanatematycznienadanehistoryczne ● Zintegrowanabazadanych ● Daneprzechowywanewsposóbpewnyiniedoedycji ● Przewidzianajestpodgromadzenieianalizędanych ● Cojakiśczasdostarczanesąnowedane–hurtowniasięzmienia Architekturahurtownidanych: ● Podstawowy(basic) ● Zetapempośrednim(withastagingarea) ● Zetapempośrednimirynkiemdanych(||andDataMarts)
8.STRUKTURYBAZDANYCHWHURTOWNIACH(TABELAFAKTÓW,TABELA WYMIARÓW,WYMIAR,ZMATERIALIZOWANYWIDOK)+POLECENIESQL.COTOJESTI JAKTOZROBIĆ. Tabelafaktów: ● Zawieranumerycznemiary ● Posiadawieloatrybutowykluczgłównyzłożonyzkluczyobcychodwołującychsiędo wymiarów ● Największyrozmiarspośródtabeltworzącychgwiazdę(typowozawieraponad90% danych) ● Jejrozmiarszybkosiępowiększa Tabelewymiarów: ● Zawierająatrybutyopisowe ● Nadająznaczeniefaktom(definiująprzestrzeńfaktów) ● Zawierajądanerzadkopodlegającezmianom(zmianytypu:pojawianiesięnowych klientów,produktów) Widokzmaterializowany: ● Fizycznieistniejącynadysku ● Przechowujewynikianaliz ● Dużadostępność,wkrótkimczasie. PoleceniaSQL: CREATEDIMENSION[nazwa] LEVEL[nazwa]IS([products].[prod_id]) LEVEL[subcategory]IS([products].[prod_subcategory] LEVEL[category]IS(...) HIERARCHYPROD_ROLLUP(...) ...