SQL – Oracle Relationsdatabase

Slides:



Advertisements
Lignende præsentationer
Videregående pc-vejledning
Advertisements

Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Mapning af 1 til mange forbindelser
Mapning af klasser til relationer
Relationsstyper En-til-en relationer: TABEL 1 NAVN ID Peter Hansen 1
Vejledning i blog-værktøjet WordPress Opdateret august 2009.
Vejledning i blog-værktøjet WordPress Opdateret oktober 2012.
Vejledning i blog-værktøjet WordPress Opdateret februar 2009.
Formularer (Access, del 3)
Databaser Teori.
Relationsdatabaser og SQL
SQL 1 DDL og DML.
Felter og nøgle-felter (databaser, del 6)
Eksamensspørgsmål: 4: Brugen af nøgler i en "Relationel DB" herunder: Primary Key og Foreign Key samt Super Key og Candidate Key.
Regnskab & økonomistyring - Lektion 15 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Regnskab & økonomistyring - Lektion 4 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
Mapning af 1 til mange forbindelser
Validering af data (Access, del 7)
Oprettelse af tabeller (Access, del 2)
Relationsdatabaser og SQL
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
6. SQL1 Standardiseret spørge-sprog mv. til relationsdatabaser.
Relationsdatabaser og SQL
Operationer på relationer
22/092VE/E00/RB1 Introduktion til SQL Datalogi 2VE E00 DIKU Forelæsninger 22/9 og 29/9.
Relationsdatabaser og SQL
7. SQL constraints og triggers1 Aktive elementer i SQL.
2009NOEA/IT - Databaser/SQL1 Realisering af den relationelle model i SQL-baserede DBMS’er SQL er mere end forespørgsler - det omfatter bl.a. –DDL Data.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
SQL – Oracle Relationsdatabase
Data Dictionary (databaser, del 7)
Årsmøde Organisationen Danske Arkiver
Relationelle databaser og XML
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
2009NOEA/IT - Databaser/arkitektur1 Den relationelle model En teoretisk model for databaser Hviler på et sundt teoretisk grundlag Omfatter: Datastruktur.
Virksomhedens informationsbehandling lektion Ved. Jens Godik Højen.
8.7 Security: Grant and revoke1 Sikkerhed 8.7 Security and User Authorization in SQL.
Data Warehouse 8. semester forår 2010
DATATYPER. For at tilpasse hvert felt i databasen til dets formål og dermed øge funktionalitet 1 bit er tilstrækkelig til at angive køn (0/1) men for.
Intro Større applikationer, f. eks: Bogpris.dk. Nye bøger.
Administratordelen - Sidsel Præsentation af administratordelen Sitemap Webstruktur Transaktioner Fremtid.
Tina Ratzer Hendes hjemmeside skal indeholde: Kontakt Forhandlerliste
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 8 Hvorfor data i en RDB (relationel database)? Databasemodellering.
3. Objekt Orientering og Relations Databaser
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
Oprettelse af tabeller (Access, del 2)
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
DWDK – øvelsestime 3 CSS – let the fun begin!!. Tilgængelige slides Disse slides ligger på mit public drev
Database.
E/R-diagrammering 7. Semester.
Den relationelle model
Oracle Application Express Lektion 1 7. Semester 2008.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 7 Hvorfor data i en RDB? Databasemodellering Begrebet nøgle.
Videregående pc-vejledning
Videregående pc-vejledning
IT for let øvede Modul 5: ”Tekstbehandling ”. Formål KULTUR & FRITIDSHUSET – SKOLEGADE 54 – TLF: Kunne skrive en tekst med store og små bogstaver.
Formularer (Access, del 3). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller Vi.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Forårsrengøring med Fabrikam
Modellering og data Nyt forløb.
Din firmabrochure Dette er et godt sted at placere et idegrundlag
MySQL dat2sem2018Fall Modul 2 – uge 2.
Dat2sem2019 Bornholm Modul 2 – uge 2
Præsentationens transcript:

SQL – Oracle Relationsdatabase Lektion 3 7. Semester

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 www.b2m.dk

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.

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 = '.,';

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)

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

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!!!

Æ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

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

Datatyper CHAR(maks. længde) VARCHAR2(maks. længde) Fast karakterfelt med plads til maks. 2000 tegn VARCHAR2(maks. længde) Variabelt karakterfelt med plads til maks. 4000 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

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>;

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.

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)

Ændre egenskaber – constraint ALTER TABLE kunder ADD CONSTRAINT email_cc CHECK (email LIKE '%@%'); MODIFY CONSTRAINT email_cc {ENABLE|DISABLE}; DROP CONSTRAINT email_cc; RENAME CONSTRAINT email_cc TO email_check; {ENABLE|DISABLE} CONSTRAINT email_cc; Samme resultat

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) );

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;

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, '13-08-2006'); (id, kunde) (116, 'Netto');

Nok for i dag 