Olem: nt isikud, kohad, asjad, sündmused
Atribuut: tunnused; nt töötaja olemil eesnimi, perenimi, telefon (`1:m` seose puhul **teha atribuudile eraldi tabel** (nt kui mitu meili inimese kohta))
Schema (andmebaasiskeem): andmebaasi struktuur, mis on üles joonistatud graafilise diagrammina
Column definition: kirjeldus, mis määrab veeru füüsilised omadused (nimi, andmetüüp, pikkus, NULL / not NULL, formaat, väärtuse piirid,..)
Database description: Ammendavalt ab struktuuri kirjeldav dokumentatsioon (konkreetses DBMS keeles). Sisaldab nt: skeemi, tabelite loetelu, veerudefinitsioone, kirjeldusi tabelitevahelistest seostest.
Transactions
A series of data manipulation statements that either fully succeed or fully fail, leaving the database in a consistent state.
- If only some statements succeed, the whole transaction is considered invalid and the system is rolled back to its previous valid state.
- Transaction is only applied once all of the statements have succeeded.
- No-one else sees any part of the transaction until it's committed.
Transaktsioonid on nt:
- tellimine
- maksmine
- broneerimine
- laenutamine
- taotlemine
- järjekorras olemine
- kokkuleppimine
- töötamine
Database Modelling
Andmebaasi vaated
- Füüsiline - salvestamisviisid
- Loogiline - info struktureerimine (andmetevahelised SEOSED)
- Kasutaja - milline ab juurdepääs on eri kasutajatele
Data modelling
**Conceptual data model** - things in the business and the relationships among them - highest-level relationships between different entities
`olemid` `seosed`
- Leia olemid (tegijad/objektid)
- Loo üks andmemudel:

või

või

- Leia seosed olemite vahel (tegevused) ja loo selle põhjal objektid (nt küsitlus, sisselogija, kirja saatmine) ja määra vastavad meetodid
- Kirjelda kasutaja vaade (hea siduda objektidega): infole juurdepääs, infoga manipuleerimine
**Enterprise data model** - similar to conceptual data modeling, but addresses the unique requirements of a specific business
**[Logical data model](https://www.1keydata.com/datawarehousing/logical-data-model.html)** - illustrates the specific entities, attributes and relationships involved in a business function ("normalized" and "attributed" - that is fully detailed data)
`olemid` `seosed` `atribuudid` `võtmed`
- Märgi üles kõik andmed esindavad atribuudid (nt nimi, osakonna tel, juhendi tel) ja too näiteid

- Määra seosed `1:1` `1:n` `m:n
- Loo ja normaliseeri tabelid
- `1:m` puhul teha eraldi atribuudile eraldi tabel (nt kui mitu meili inimese kohta)
**Physical data model** - application and database-specific implementation of a logical data model (actual structure of a database (tables and columns) OR the messages sent between computer processes)
`olemid` `seosed` `atribuudid` `võtmed` `tabelinimed` `veerunimed` `andmetüübid`
How to apply relations between tables:
one-to-many
: use the primary key of one
as a foreign key in the many
table
many-to-many
: create a join table
Tabeli normaalkujud
1NF
- andmeelemendid on igas lahtris atomaarsed
- ükski veerg ei kordu
- kõrvalda korduvgrupid
- täida kõik lahtrid
- igas lahtris üks väärtus
- primaarvõti
- kõik seosed

2NF
- kõigil teistel veergudel on ühiseks nimetajaks primaarvõti (ei saa olla, et üks veerg viitab ühele võtmele, ja teine teisele - KÕIK veerud viitavad tervele PVle)
- võtme igale osale eraldi rida
- uues tabelis PV luua kõigist selle tabeli PV osadest
- kõik read peavad seostuma võtmega
3NF
- kõik veerud sõltuvad täielikult kogu võtmest
- rida identifitseerib ainult primaarvõti
- liiguta veerud, mis pole otseselt ja ainult primaarvõtmest sõltuvad, uude tabelisse
UML
Entity-relationship (ER) notations
notation
notation with ex
relationship notations
use case notation
nool tähistab klassi kuulumist
Skeemi valik sõltub sellest, mida kirjeldatakse:
Complete Guide to UML Diagram Types with Examples
UMLis kasutatakse programmide planeerimises järgnevat: L1
- funktsionaalsed omadused: kasutuslood 🏵 kasutuslugude skeem 🏵 🏵 🏵 🏵 🏵 extend vs include include: use case contains the behavior defined in another use case;
- staatiline struktuur: klassimudel 🏵 🏵
- dünaamika kirjeldamine: järgnevusskeem 🏵 🏵 koostööskeem 🏵 🏵 🏵 olekuskeem 🏵 🏵 🏵 🏵 🏵 🏵 tegevusskeem 🏵 🏵 🏵 🏵 🏵 🏵
🏵
🏵