informacinės technologijos i t3 modulis: reliacinės duomenų bazės i paskaita: įvadas (db...

28
Informacinės technologijos IT3 modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida) 2005.09-08 Dėst. doc. Regimantas Pranaitis

Upload: lore

Post on 08-Feb-2016

90 views

Category:

Documents


6 download

DESCRIPTION

Informacinės technologijos I T3 modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida). 2005.09-08 Dėst. doc. Regimantas Pranaitis. Viskas IB2 svetainėje. www.kf.vu.lt/~regis. Relation. forma. ataskaita. Word  Excel  Access. DB raida. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

Informacinės technologijosIT3 modulis: reliacinės duomenų bazėsI paskaita: įvadas (DB raida) 2005.09-08

Dėst. doc. Regimantas Pranaitis

Page 2: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

2

Viskas IB2 svetainėje

www.kf.vu.lt/~regis

Page 3: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

3

Relation

Word Excel Access

forma ataskaita

Page 4: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

4

DB raida Ateities šaknys – praeityje: jos yra valdžios, verslo, bibliotekų,

medicinos ir kt. dokumentų įrašuose. Informacijos saugojimo, indeksavimo ir ieškos istorija yra ilga. Jos nederėtų ignoruoti, nes iš jos pakilimų ir nuosmūkių yra ko pasimokyti.

1960-siais: didėjant duomenų kompiuteriuose saugojimo galimybėms, jie tapo efektyvūs privačiose kompanijose. Buvo sukurti du pagrindiniai duomenų modeliai: tinklinis modelis (CODASYL) ir hierarchinis modelis (IMS). Prieiga prie duomenų bazės įrašų buvo organizuojama žemo lygio vektorinių operacijų pagalba. Saugojimo specifika priklausė nuo saugomų duomenų tipo. Todėl duomenų bazę papildžius papildomu lauku, reikėdavo perrašyti duomenų prieigos/modifikavimo schemą. Svarbiausia buvo įrašas, o ne visa sistemos struktūra. Formuluodamas užklausą, vartotojas turėjo žinoti fizinę duomenų bazės struktūrą. Tuo metu komercinio pasisekimo sulaukė SABRE sistema (IBM ir Amerikos avialinijos).

Page 5: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

5

DB raida 1970-72: E.F. Codd straipsnyje apie tai, kokios turėtų būti

duomenų bazės, pasiūlė reliacinį (relational) duomenų bazių modelį. Jis pasiūlė atskirti loginę duomenų bazės struktūrą nuo fizinių jos saugojimo metodų. Šis būdas yra standartas iki šiol.

1970-siais: Mokslinių tyrimų projektų laikotarpis (sukurtos teorijos pagrindu. 1974-77-iais buvo sukurti du pagrindinai reliacinių sistemų prototipai. Tai puikus tikros teorijos pritaikymo praktikoje pavyzdys.

Ingres: sukurta UCB ir vedė link Ingres Corp., Sybase, MS SQL Server, Britton-Lee, Wang‘o PACE. Ši sistema užklausų kalba naudojo QUEL.

Sistema R: Sukurta IBM San Jose ir vedė link IBM‘o SQL/DS & DB2, Oracle, HP's Allbase, Tandem‘o Non-Stop SQL. Ši sistema užklausų kalba naudojo SEQUEL.

Šiuo laikotarpiu susiformavo terminas reliacinių duomenų bazių valdymo sistemos (RDBVS) terminas.

Page 6: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

6

DB raida 1976: P. Chen duomenų bazėms pasiūlė esybių sąryšių (entity-

relationship (ER)) modelį. Tai buvo dar vienas svarbus žingsnis koncepcinio duomenų modeliavimo sistemos link. Šis aukštesnio lygio medeliavimas leidžia projektuotojui dirbti su duomenimis, o ne su logine lentelių struktūra.

1980-ųjų pradžioje: reliacinės sistemos tampa komercinėmis – todėl plečiasi DB verslo rinka, perkama daugiau kompiuterių.

1980-ųjų viduryje: struktūrinė užklausų kalba SQL (Structured Query Language) tampa "intergalactic standard". IBM sukuria DB2. Duomenų bazės kuriamos tinklinio ir hierarchinio modelių pagrindu (dabar tokios sistemos jau nebekuriamos, bet kai kurios jų dar naudojamos). Pradėjus gaminti IBM PC, duomenų bazių kompanijos sukūrė: RIM, RBASE 5000, PARADOX, OS/2 Database Manager, Dbase III, IV (vėliau - Foxbase, dar vėliau – net Visual FoxPro), Watcom SQL.

Page 7: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

7

DB raida 1990-tųjų pradžia: firmos kuria vis sudėtingesnes ir brangesnes

bazes. Daug jėgų šiuo laikotarpiu skiriama vartotojui skirtiems aplikacijų kūrimo įrankiams: PowerBuilder (Sybase), Oracle Developer, VB (Microsoft), ir kt. Būsimų kompiuterinių verslo sprendimų pagrindu tampa kliento-serverio modelis. Tuo metu sukuriami tokios našios individualaus darbo priemonės kaip Excel/Access (MS) ir ODBC. Pastaroji – jau objektinių duomenų bazių prototipas (Object Database Management Systems (ODBMS)).

1990-tųjų vidurys: Rimtai pradeda veikti internetas/WWW. Užtikrinama nuotolinė kompiuterinių sistemų duomenų prieiga. Eilinio vartotojo darbastalį pasiekia Kliento-serverio technologija (pradžioje šiek tiek nepatogi), Web/DB vystosi eksponentiškai.

Page 8: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

8

DB raida 1990-tųjų pabaiga. Didžiulės investicijos skiriamos Interneto

kompanijoms – todėl sukuriama daug Web/Internet/DB sąlajos priemonių: Active Server Pages, Front Page, Java Servlets, JDBC, Enterprise Java Beans, ColdFusion, Dream Weaver, Oracle Developer 2000 ir kt.

Drauge su gcc, cgi, Apache, MySQL ir kt. Internete įsitvirtina atvirojo kodo sprendimai. Atsiranda Online Transaction processing (OLTP) ir online analytic processing (OLAP) būdai, kuriuos kasdien naudoja tarnautojai drauge su point-of-sale (POS) technologija.

21-ojo amžiaus pradžia. Vystosi interneto industrija, daugėja DB aplikacijų. PDA, POS transakcijų, vendors vienijimosi dėka tions dėka jos tampa interaktyvesnės. Didžiulėje DB rinkoje įsivyrauja trys pagrindinės vakarų kompanijos: IBM (nusipirkusi Informix), Microsoft, ir Oracle.

Page 9: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

9

DB raida Ateities tendencijos: kuriamos terabaitinės sistemos – joms reikia naujų duomenų valdymo

ir analizės priemonių. Tai didžiulės mokslo DB – genomo projektas, geologinės, nacionalinio saugumo, ir kosmoso tyrimų duomenys. Clickstream analysis is happening now. Data mining, data warehousing, data smarts yra šiuo metu plačiai naudojamos technologijos. Be abejonės ateityje jų tik daugės. Galvojama apie smart/personalized prekybą atsižvelgiant į užsakymų istoriją, laiką ir t.t..

Sėkmingojo SQL (ir tikriausiai RDBMS) pasekėjai skverbsis ateitin. Vienok daugelis pastangų standartizuoti SQL nebuvo sėkmingos. SQL92, SQL2, SQL3 neturi standarto galios, nekalbant apie kitus plėtinius. Tikėtiniausia, kad juos įveiks XML ir kitos ateinančios technologijos. XML su Java duomenų bazėms sekanti kūdikis? Reikia laukti naujienų.

Pastaruoju metu į rinką įvairiais būdais ateina mobilaus duomenų bazių naudojimo sprendimai. Verslo planavimo norma virsta paskirstyti sutransakcijų veiksmai.

Page 10: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

10

DB raida Ateities tendencijos Yra manančių, kad RDBVS rinka toliau plėsis. Linux ir Apache

palaikomu mySQL (ar net Oracle) naudojant santykinai pigų kompiuterinę įrangą kelia pagrindinę grėsmę brangioms Oracle ir DB2 sistemoms. Taigi pastarieji turės kažką daryti, kad įtiktų vartotojams.

Tikėtina taip pat, kad ateityje viskas bus į objektus orientuota, ir duomenų bazės taip pat. Duomenų bazių valdymo grupės (ODVG) standartai pasiūlyti ir patvirtinti ir tai tikriausiai turės pasėkmių.

Dažnai nepaisoma etinių/saugumo/naudojimo aspektų, bet jie visada

apie save primena. Ar amazon.com turėtų fiksuoti jūsų knygų užsakymus? Kam turėtų būti leista fiksuoti Web naršymą? Kas apsiimtų saugoti ar peržiūrinėti šiuos duomenis? Kas atsakys į šiuos klausimus ir priims šiuos sprendimus – dar neaišku..

Page 11: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

11

DB raida

60 70 80 90 2000

?

? ? ??

Page 12: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

12

RDB raida Plačiau apie E. F. Codd straipsnius The concept of relational databases was first described by Edgar Frank Codd (almost exclusively

referenced as E. F. Codd in technical literature) in the IBM research report RJ599, dated August 19th, 1969.1 However, the article that is usually considered the cornerstone of this technology is "A Relational Model of Data for Large Shared Data Banks," published in Communications of the ACM(Vol. 13, No. 6, June 1970, pp. 377-87). Only the first part of the article is available online.

Additional articles by E. F. Codd throughout the 1970s and 80s are still considered gospel for relational database implementations. His famous "Twelve Rules for Relational Databases"2 were published in two Computerworld articles "Is Your DBMS Really Relational?" and "Does Your DBMS Run By the Rules?" on October 14, 1985, and October 21, 1985, respectively. He has since expanded on the 12 rules, and they now number 333, as published in his book "The Relational Model for Database Management, Version 2" (Addison -Wesley, 1990).

Codd's twelve rules call for a language that can be used to define, manipulate, and query the data in the database, expressed as a string of characters. The language, SQL, was originally developed in the research division of IBM (initially at Yorktown Heights, N.Y., and later at San Jose, Calif., and Raymond Boyce and Donald Chamberlin were the original designers.)3 and has been adopted by all major relational database vendors. The name SQL originally stood for Structured Query Language. The first commercially available implementation of the language was named SEQUEL (for Sequential English QUEry Language) and was part of IBM's SEQUEL/DS product. The name was later changed for legal reasons. Thus, many long-time database developers use the pronunciation "see-quell."

SQL has been adopted as an ANSI/ISO standard. Although revised in 1999 (usually referenced as SQL99 or SQL3), most vendors are still not fully compliant with the 1992 version of the standard. The 1992 standard is smaller and simpler to reference for a user, and since only some of the 1999-specific requirements are typically implemented at this time, it may be a better starting point for learning the language.

Page 13: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

13

Pamatas – reliacinė db

Kompiuterija http://www.kf.vu.lt/~regis/km_db.html Hansen http://www.kf.vu.lt/~regis/db_sol_turinys.html Baronas http://www.maf.vu.lt/~baronas/dbvs/book/

Page 14: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

14

Kodo taisyklės (žaidimo taisyklės) 0. nulinė taisyklė. Kiekviena sistema, kurią pristato kaip reliacinę

DBVS, turi valdyti duomenų bazę, naudodama tik reliacines funkcijas. RDBVS neturi naudoti jokių nereliacinių operacijų apibrėždama duomenis ir manipuliuodama jais.

1. Informacijos taisyklė: Visa RDBVS informacija logiškai pateikiama ir tik vienu būdu – surašant reikšmes į lenteles.

2. Garantuotos prieigos taisyklė: Kiekvienas RDBVS duomenų elementas yra logiškai pasiekiamas lentelės pavadinimo, priminio rakto reikšmės ir stulpelio pavadinimo deriniu.

3. Null reikšmių naudojimo taisyklė: Null reikšmės (ne tarpo, ne nulio ir pan.) yra reliacinės DBVS palaikomos ir reiškia informacijos nebuvimą ar nepanaudojamumą sisteminiu būdu ir nepriklausomai nuo duomenų tipo.

Page 15: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

15

Kodo taisyklės (žaidimo taisyklės) 4. Dynamic Online Catalog Based on the Relational Model rule :

The database description is represented at the logical level in the same way as ordinary data, so that authorized users can apply the same relational language to its interrogation as they apply to the regular data.

5. The Comprehensive Data Sublanguage rule: A relational

system may support several languages and various modes of terminal use (for example, the fill-in-blanks mode). However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings and whose ability to support all of the following is comprehensible: data definition, view definition, data manipulation (interactive and by program), integrity constraints, and transaction boundaries (begin, commit, and rollback).

Page 16: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

16

Kodo taisyklės (žaidimo taisyklės) 6. The View Updating rule: All views of the data which are

theoretically updatable must be updatable in practice by the DBMS.

7. High-level Insert, Update, and Delete rule : The capability of

handling a base relation or a derived relation as a single operand applies not only to the retrieval of data but also to the insertion, update, and deletion of data.

8. Fizinio duomenų nepriklausomumo taisyklė: informacijos saugojimo struktūrai ar prieigos metodams pasikeitus, aplikacijos programų ir terminalo loginiai ryšiai turi išlikti.

9. Logical Data Independence rule : Application programs and terminal activities remain logically unimpaired when information preserving changes of any kind that theoretically permit unimpairment are made to the base tables.

Page 17: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

17

Kodo taisyklės (žaidimo taisyklės) 10. The Integrity Independence rule: Integrity constraints must be

definable in the RDBMS sub-language and stored in the system catalogue and not within individual application programs.

11. The Distribution Independence rule: An RDBMS has distribution independence. Distribution independence implies that users should not have to be aware of whether a database is distributed.

12. Žemo lygio kalbų panaudojimo taisyklė: Jeigu reliacinėje sistemoje yra žemo lygio kalba (apdorojanti iš eilės po vieną eilutę), ji negali būti naudojama vientisumo apribojimams “apeiti” arba panaikinti, kurie nustatyti aukštesnio lygio reliacine kalba (dirbančia iš karto su keliomis eilutėmis). Duomenų bazės vientisumas saugomas taip, kad jo pažeisti be administratoriaus ar vartotojo žinios būtų neįmanoma. Tačiau dėl to neatmetama galimybė vartoti žemo lygio kalbą.

Page 18: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

18

Kodo taisyklės (šaltiniai)

http://itmanagement.webopedia.com/TERM/C/Codds_Rules.html http://www.itworld.com/nl/db_mgr/05072001/ http://math.hws.edu/vaughn/cpsc/343/2003/history.html http://www.networkmagazineindia.com/200201/cover13.htm

Page 19: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

19

Matematinis RDB aparatas

Reliacinė algebra – užklausoje nurodoma ką ir kaip reikia padaryti

Reliaciniai skaičiavimai – užklausoje nurodoma ką reikia padaryti

Page 20: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

20

ODBVS

ODBVS manifestas.. Objektai.. Paveldimumas.. kt.

Šaltiniai: Odbvs manifestas:http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/OODBMS/Manifesto/htManifesto/Manifesto.html Odbvs manifestas: http://myweb.lsbu.ac.uk/~rmkemp/objectb.html Smartdraw www.martdraw.lt

Page 21: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

21

Modulio turinys duomenų bazių (DB) raidos ypatumai reliacinės duomenų bazės (RDB) DB gyvavimo ciklas poreikių analizė DB koncepcinis modelis koncepcinio modelio pavertimas reliaciniu RDB normalizavimas RDB realizavimo priemonės

MS Access Kitos

Struktūrinė užklausų kalbas (sql)

Page 22: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

22

Vertinimas DB teorija – 50%

testai ECDL (minimumas) sql Paskaitų metu aptarti dalykai ()

kontrolinis darbas aktuali tema

Paskelbti darbai – 50% DB projektas

Poreikių analizė Koncepcinis modelis Reliacinis modelis Veikianti db

pvz., ms access pagrindu pvz., integruota į interneto svetainę (php, mysql..) kam tai paranku

Page 23: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

23

Vertinimas.

galioja kaupiamojo balo principas atsiskaityti galima iki sesijos

egzamino metu – 30%

Page 24: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

24

Dėl aktualių temų

pasirinkę temą, atsiųskite dėstytojui jos pavadinimą (adr.: [email protected]) tema turėtų būti aktuali ir susijusi IT3 studijų kryptimi iki kovo vidurio

Page 25: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

25

ECDL (prieiga ruošiama)

MS Access (minimumas)

Page 26: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

26

Internetinės duomenų bazės

tikriausiai jos yra perspektyviausios pasaulinis archyvas (www.archive.org ) vukf (www.kf.vu.lt, …) delfi (www.delfi.lt) LR seimas (www.lrs.lt) – oracle pagrindu.. DB – informacinių sistemų (IS) pagrindas ir t.t.

šaltiniai www.w3schools.com

Page 27: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

27

pabaigai

Kitos paskaitos tema DB gyvavimo ciklas poreikių analizė DB koncepcinis modeliavimas 5.03.16

Page 28: Informacinės technologijos I T3  modulis: reliacinės duomenų bazės I paskaita: įvadas (DB raida)

2023 metų balandžio mėnesio 22 diena

IT3 - reliacinės duomenų bazės, VU KF IKK, doc. R.Pranaitis

28

Pertrauka

Klausimai?