Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

SQL – Oracle Relationsdatabase

Lignende præsentationer


Præsentationer af emnet: "SQL – Oracle Relationsdatabase"— Præsentationens transcript:

1 SQL – Oracle Relationsdatabase
Lektion 3 7. Semester

2 Hvad du ikke må!  Vær præcis! meget præcis!
Udvis disciplin når du skriver SQL Tro ikke på at ”den” selv laver fejl Lær de mest almindelige kommandoer Det er en rigtig god idé at sætte koden pænt op – det letter senere fejlsøgning. Søg råd ved Bent

3 Hvad forstås med disciplin?
Denne skrifttype er lig kode STORE BOGSTAVER er lig Oracle kommandoer <tekst> betyder at tekst inkl. større-end og mindre-end tegn skal erstattes med den faktiske tekst/værdi. [tekst] betyder at tekst er valgfri og kan udelades. De firkantede parenteser skal aldrig skrives i koden. {tekst1|tekst2} betyder at en af teksterne adskilt af de lodrette streger skal vælges. De krøllede parenteser skal aldrig skrives i koden.

4 En god ide at skifte Inden PL/SQL tages i brug er det som regel en rigtig god idé at skifte til dansk opsætning ALTER SESSION SET NLS_DATE_LANGUAGE = Danish NLS_DATE_FORMAT = 'DD.MM.YYYY' NLS_NUMERIC_CHARACTERS = '.,';

5 Datatyper Tekst Tal Dato/tid Binære filer Boolsk type (Boolean) Lyd
Billeder Dokumenter Boolsk type (Boolean) Sand, falsk eller null (tom) Findes ikke i Oracle (i stedet kan en almindelig tekstkolonne med disse værdier anvendes)

6 Oprettelse af tabel CREATE TABLE <tabelnavn> (<kolonnenavn> <DATATYPE> [DEFAULT <værdi>] [<CONSTRAINTS>]); CREATE TABLE kunder ( kunde_id NUMBER(10), kunde VARCHAR2(20), adresse VARCHAR2(50), postnr NUMBER(4) DEFAULT 9000 ); tabelnavn Kolonne-navn maks. længde datatype standardværdi

7 Hvad virker Tabel og kolonnenavne skal:
begynde med et bogstav bestå af mellem 1 og 30 karakterer lovlige karakterer: A-Z, 0-9, _, $, # undgå æ, ø eller å være entydige / unikke Ikke to tabeller af samme navn Ikke to kolonner af samme navn i én tabel ikke være et reserveret ord, fx kommandoer (SELECT, TABLE, BY m.fl.) Der skal normalt ikke tage ikke hensyn til STORE og små bogstaver Hvis navnene skrives i dobbelt anførselstegn, kan næsten alle reglerne dog brydes!!!

8 Ændring af tabel ALTER TABLE ADD - tilføje kolonne / constraint
MODIFY - ændre kolonne / constraint DROP - slette en kolonne / constraint RENAME - omdøbe kolonne / constraint ENABLE/DISABLE - deaktivere/aktivere constraint

9 ALTER TABLE ALTER TABLE kunder ADD ( tlf NUMBER(8), email VARCHAR2(30)
Tilføj ekstra kolonner ALTER TABLE kunder ADD ( tlf NUMBER(8), VARCHAR2(30) ); MODIFY ( tlf VARCHAR2(15) NOT NULL, VARCHAR2(50) DROP (tlf, ); RENAME COLUMN tlf TO telefon; Ændre på feltegen-skaber Slet en kolonne Navne ændring af kolonne

10 Datatyper CHAR(maks. længde) VARCHAR2(maks. længde)
Fast karakterfelt med plads til maks tegn VARCHAR2(maks. længde) Variabelt karakterfelt med plads til maks tegn NUMBER[(præcision[,skala])] Tal, hvor præcision er antal tilladte cifre, mens skala er antal decimaler ud af det samlede antal cifre. DATE Datofelt med præcision ned til 1 sekund TIMESTAMP Datofelt med præcision ned til brøkdele af sekunder

11 Beskrive & slette tabeller m.m.
Beskrive én tabel DESCRIBE <tabelnavn>; DESC <tabelnavn>; Vis alle tabeller SELECT * FROM user_tables; Vis poster i tabel SELECT * FROM kunder; Omdøbe tabel RENAME <tabelnavn> TO < nyt tabelnavn>; Slette tabel DROP TABLE <tabelnavn>;

12 Primær nøgle En primærnøgle anvendes til unikt at identificerer hver række i en tabel Den kan bestå af flere kolonner (en sammensat primærnøgle) Krav til en primærnøgle: Der kan kun være én for hver tabel Alle data i primærnøglen skal være unikke Der må ikke forekomme tomme (null) felter Yderligere bør data være forholdsvis ”stabile” Der kan være flere kandidatnøgler, der opfylder ovenstående krav, til en primærnøgle.

13 Fremmednøgle Fremmednøgler sikrer integriteten mellem tabeller
Krav til en fremmednøgle: Fremmednøglen skal referere til en primær eller unik nøgle. En fremmednøgle-værdi skal enten kunne findes i reference-tabellen eller være NULL. En kolonnen med en fremmednøgle skal være samme datatype som kolonnen med den primære eller unikke nøgle i reference-tabellen. En fremmednøgle kan referere til den tabel, som den selv er placeret i. (Rekursivt hierarki)

14 Ændre egenskaber – constraint
ALTER TABLE kunder ADD CONSTRAINT _cc CHECK ( LIKE MODIFY CONSTRAINT _cc {ENABLE|DISABLE}; DROP CONSTRAINT _cc; RENAME CONSTRAINT _cc TO _check; {ENABLE|DISABLE} CONSTRAINT _cc; Samme resultat

15 Semantisk integritet - ?
CHECK Constraints er fleksible betingelser, man selv definerer, som data skal opfylde. CREATE TABLE kunder ( kunde_id NUMBER (10) PRIMARY KEY, kunde VARCHAR2(20) UNIQUE, adresse VARCHAR2(50) NOT NULL, postnr NUMBER (4) REFERENCES postnumre (postnr) [CONSTRAINT postnr_laengde_cc] CHECK (LENGTH(postnr) = 4) );

16 Hvad postkassen slugte
Vis alle constraints SELECT * FROM user_cons_columns NATURAL JOIN user_constraints; Tømning af ”Papirkurv” Hvis der optræder navne lignende følgende i ovenstående forespørgsler BIN$EO/cSFBIQqOsWWy9uhmgFQ==$0 så tøm Oracles papirkurv med denne kommando PURGE RECYCLEBIN;

17 Indsætte data i tabeller
Id Number Kunde Varchar2 Postnr Dato Date INSERT INSERT INTO <tabelnavn> [(<kolonner>)] VALUES (<værdier>); INSERT INTO kunder VALUES (115,'Føtex', null, ' '); (id, kunde) (116, 'Netto');

18 Nok for i dag 


Download ppt "SQL – Oracle Relationsdatabase"

Lignende præsentationer


Annoncer fra Google