Thursday, April 27, 2017

27.04.2017: andmebaasirakenduste arendaja x4 (Väino L.)

Tegime kuskil 100 tekstifailis olevat kirjet sql lauseteks. Oli vaja teha et sisestada need tabelisse.
Selline ülesehitus :
insert into employees values(
103,'Alexander','Hunold','AHUNOLD','590.423.4567',
to_date('1990-01-03','yyyy-mm-dd'), to_date('1959-04-21','yyyy-mm-dd'), 'IT_PROG',9000,null,102,60);

ID, eesnimi, perenimi, telefon, mingi kuupäev, mingi kuupäev, tööosakond, palk , ei tea, ei tea, ei tea.

Ma sain isegi valmis.

Mida õppisin: replace Notepadis on päris asjalik toode.

Wednesday, April 26, 2017

26.04.2017: vene keel x2 (Tatjana P.)

Vene keeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel.

Friday, April 21, 2017

21.04.2017: andmebaasirakenduste arendaja x2 (Väino L.)

Tegime uue kasutaja Oracle 11g keskkonda. Et tabelite loomisel kasutada PL/SQL'i, ei saanud kasutada SYSDBA kontot (andmebaasi admini kontot). Süsteemiturve võtab seda kui häkkimist. Seega oli vaja luua uus konto ning anda sellele vajalikud õigused. Siis sai kasutada PL/SQL'i. Sellega panime tabelile kellaajalised piirangud peale, aga need lülitasime välja.

Mida õppisin: kuidas lisada Oracle 11g veebiliidesega uut kasutajat.

Wednesday, April 19, 2017

19.04.2017: andmebaasirakenduste arendaja x2 (Väino L.), vene keel x2 (Tatjana P.)

Tegime Oracle 11g andmebaasiga tööd. Sinna pidime lisama tabeleid. Siis pidi nende tabelite ülesehitust muutma. Seda tegime trigger'eid ning constraint'e kasutades. Ei jõudnud lõpuni.

Vene keeles õppisime vene keelt.

Mida õppisin: mitte midagi enda arust.

Monday, April 17, 2017

18.04.2017: andmebaasirakenduste arendaja x4 (Väino L.)

Kui kasutad commit käsklust, saad tehtud asju tagasi kerida.

SQL käsud pole tõusutundlikud (case-sensitive)

Tingimused pannakse eraldi reale.
Tegime tööd APEX'is.
Peale seda tegime tööd Oracle 11g andmebaasiga.

17.04.2017: andmebaasirakenduste arendaja x3 (Väino L.)

Süsteemitarkvara - OS
Rakendustarkvara - programmid
APEX - Oracle Application Express Practice environment

Tegime APEX keskkonnas SQL Commands liidesega tööd.

SQL - structured query language (sruktureeritud päringukeel)

andmebaasi objektid:
tabel: koosneb veergudest
vaade: piiratud tabeli ligipääs
jada: hoiab arvulisi väärtusi
indeks: päringute kiiruse parendamiseks

Tuesday, April 11, 2017

Monday, April 10, 2017

10.04.2017: andmebaasirakenduste arendaja x3 (Väino L.)

Olem: 

  • info, mida saab jälgida
  • tavaliselt nimisõna
  • esitatakse ristkülikukujulise kastina 

Olemi tüübid:

  • peamine - eksisteerib iseseisvalt, nt klient; juhendaja
  • iseloomulik  - eksisteerib teise olemi tõttu; nt tellimus, kursus
  • vahepealine - eksisteerib kahe või rohkema olemi olemasolu tõttu; nt tellimuse objekt, kursusele registreerimine
Olemid ja nende esindajad
  • esindaja on nii klassi kui olemi esindaja
  • olemis on esindajad
http://www3.ntu.edu.sg/home/ehchua/programming/java/j3f_oopexercises.html

alamtüüp

  • pärib kõik omadused ja seosed supertüübilt
  • joonistatakse supertüübi sisse
  • võib omada alamtüüpe
bottom-up - üldistamine
top-down - eristamine

alamtüübi reeglid:
  1. kõikehõlmavad: 
  • iga ülemtüübi esindaja on ka alamtüübi esindaja
  • MUUD alamtüüp peaks olema, et kategoriseerida olemeid mis pole defineeritud mõne teise olemasoleva alamtüübi poolt
  1. mutually exclusive
atribuutide omadused:
  • olemi kastis ERD'l
  • nimed on ainsuses ning suure algustähega või väikeste tähtedega
omaduse klassifikatsioon:
  • kohustuslik (*)
  • mittekohustusltk (väike o)
liht-ja liitomadused:
  • lihtomadusel on ainult üks väärtus
  • mitmeväärtuselisel saab olla mitu väärtust, nt aadress
Barkeri märgistused:
  • ümarate nurkadega märgistus
  • olemi nimi üleval vasakus nurgas 
  • full caps
  • ainsuses
  • tuleb kirjutada nii, et kõik saaksid aru
  • seos saab olla ainult kahe olemi vahel
  • võib olla sama olemi seos
  • seosel on kaks perspektiivi
  • seose peal on nimi
Bachmani tähistus:
  • P on UID
  • F on välisvõti
  • seosejooned on nool (varesejalg), täidetud või tühi ring (katkend- ja pidev joon)



artificial unique identifier: id, mis me ise paneme / järjekorranumber

rekursiivne seos: iseendale viitav

seoste maatriks

ERDish:
  • EACH 
  • Entity A
  • OPTINALITY (must be/ may be)
  • RELATIONSHIP NAME
  • CARDINALITY (one and only one/one or many)
  • Entity B
Miks normaliseerida:
pole korduvaid andmeid
suurendab andmeterviklust ning disaini stabiilsust
vältida mittesobivust ja anomaaliaid

Thursday, April 6, 2017

6.04.2017: Andmebaasirakenduste arendaja x2 (Väino L.), hajusrakenduste alused x2 (Triin M.)

Entity - table

attribute - column

Nimetamistavad: 
tabelinimi on olemi nimi mitmuses

UID: 

  • täiesti unikaalne ühe tabeli ulatuses
  • väärtus ei muutu eluea ulatuses


Primary key:
Eristab iga rida tabelis

liitprimaarvõti koosneb kahe või enama tulba kombinatsioonist
nt: panga number ja konto number

Seos:

  • peegeldab suhet kahe või enama olemi vahel
  • sellel on alati nimi
Välisvõti:
tulp või nende kombinatsioon mis viitab primaarvõtmele selles või teises tabelis

Triinu tunnis jätkasin UnrealIRC konfiguartsioonifaili muutmist. Selle sain enam-vähem valmis, ainult mõningad võrguga seoses muutused tuleb failis veel teha. 

Wednesday, April 5, 2017

05.04.2017: hajusrakenduste alused x2 (Triin M.), inglise keel x2 (Sirje K.)

Tegime oma projekti jaoks eraldi resource pool'i VMWare keskkonnas. Sinna tegime 6 virtuaalmasinat: 2 veebiserveri jaoks, 2 andmebaasi jaoks ning 2 IRC teenuse jooksutamiseks. Igat tuli kaks tükki teha kuna nendele tuleb failover'iga backup teha. Tegin koos Alexiga tööd. Meie osa oli IRC teenus püsti panna. Paigaldasime mõlemale virtuaalmasinale UnrealIRC ning ma hakkasin konfiguratsioonifaili muutma.

Mida õppisin: enda arust mitte midagi.

Tuesday, April 4, 2017

04.04.2017: kursusejuhataja tund x1 (Jaan P.), eesti keel x1 (Aire I.), hajusrakenduste alused x2 (Triin M.)

Jaani tund jäi ära. Eesti keeles täitsime töölehti. Triinu tunnis saime uue ülesande. Tuleb teha jututuba, mis tuleb jaotada laiali kolmele failover'iga sünkroonitud serveripaarile. Jaotasime laiali ülesanded. Jaotasime üksteist paaridesse. Teen tööd koos Alexiga.

Mida õppisin: midagi.

Monday, April 3, 2017

3.04.2017: andmebaasirakenduste arendaja x3 (Väino L.)

Dictionary sisaldab kõiki

Ärireeglid: kust andmebaasi vajadus tuleb

Kuidas ärireegleid kirjutada: SRS

Mida teevad ärireeglid:

  •  aitavad arendajal aru saada olemite seoseid ja piiranguid
  • aitab standardiseerimise protseduure mõista
  • peab olema lihtne ja kergesti arusaadav
  • peab olema pidevalt uuendatud


Normaliseerimise eesmärk:

  • korduvate andmete vältimine
  • salvestatavate andmete kooskõla
  • kergem muuta andmeid ja andmevorminguid
  • lihtsam andmeid sisestada ja kustutada
  • lihtsam andmeid turvata
Terviklus: tagab, et andmed õiged
andmed kooskõlas
saavutatakse normaliseerimise, määratud ärireeglite ning valideeritud andmete abil

Lame andmebaas:

eelised:
  • lihtne aru saada
  • lihtne teha
  • lihtne andmeid kätte saada
  • kõik kirjed ühes kohas
  • lihtne sorteerida ja filtreerida kirjeid
  • väikesed tark-ja riistvara nõuded

puudused:
  • turvamata
  • andmete ebakooskõlasus
  • andmete liiasus
  • raske jagada andmeid
  • suuremad andmebaasid on aeglased
relatiivse andmebaasi eelised:
  • vähem liiasust
  • väldib mitteühilduvust

consistency: kooskõlaslisus  -kõik andmed muutuvad igal pool samaaegselt

tabeli omadused:
  • veerus olevad kirjed on üheväärtuselised
  • veerus on sama tüüpi
  • iga rida on unikaalne
  • veergude järjekord pole tähtis
  • ridade järjestus pole tähtis
  • igal tulbal on unikaalne nimi
kontseptuuaalse modelleerimise eesmärk:
  • kui kujundad maja, tahaksid näha kuidas seda ehitatakse
  • isegi kui sa ei ehita maja, peaksid aru saama ehitajate nõuetest
  • andmebaasi konts. mudelit saab kasutada edasiseks arutamiseks disainerite, DBA ja rakeduste arendajate vahel
konts. mudel
  •  tuvastab kõrgema taseme seoseid erinevate olemite vahel
  • sisaldab seoseid olemite vahel, aga ei pruugi sisaldada mitmust ja nullitavust
  • ei määra primary key'd, aga määrab igale olemile unikaalse tuvastuse
konts. mudeli loomise sammud
  • tuvasta olemid
  • tuvasta omadused
  • tuvasta unikaalsed omadused
  • määra seosed
ERM eesmärgid:
  • vajaliku info kogumine
  • tagab, et info avaldub ainult korra
  • ei modelleerita infot korduvalt
  • paigaldada infot loogilisse, eeldatavatasse kohta