Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Databázové Aplikace Slidy ke cvičení DBI026, část 1 KSI MFF UK Verze 05.11.02.16.15.

Podobné prezentace


Prezentace na téma: "Databázové Aplikace Slidy ke cvičení DBI026, část 1 KSI MFF UK Verze 05.11.02.16.15."— Transkript prezentace:

1 Databázové Aplikace Slidy ke cvičení DBI026, část 1 KSI MFF UK Verze

2 DBI026 -DB Aplikace - MFF UK MFF Linux Server mates.ms.mff.cuni.cz –Databáze devitka (9.2.0) –Klienti Linux (9.2.0) Laboratoř UW1 –Klienti Win32 (8.0.5, 9.2.0) Laboratoř US1 (u-pl*) –Klienti Linux (8.1.5) devitka mates.ms.mff… UW1u-pl*.ms.mff… TCP/IP

3 DBI026 -DB Aplikace - MFF UK MFF - Výhled Linux Server mates.ms.mff.cuni.cz –Databáze devitka (9.2.0) –Databáze desitka (10.x) –Klienti Linux (9.2.0, 10.x) Laboratoř UW1 –Klienti Win32 (9.2.0, 10.x) Laboratoř US1 (u-pl*) –Klienti Linux (10.x) mates.ms.mff… UW1u-pl*.ms.mff… TCP/IP devitka desitka

4 DBI026 -DB Aplikace - MFF UK Konfigurace prostředí – UW1 Podle verze klientských aplikací –N:\WINDOWS\ORANT\8_0_5\ –N:\WINDOWS\ORANT\9_2_0\ (doporučeno) Spustit.\!ORACLE.REG –Registruje nastavení prostředí v registru HKEY_CURRENT_USER\SOFTWARE\ORACLE.\!MENU\ –Obsahuje odkazy na spustitelné aplikace (dále jen menu)

5 DBI026 -DB Aplikace - MFF UK Konfigurace prostředí – u-pl* Do spouštěcího (nebo samostatného) skriptu vložit ORACLE_BASE=/DB/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/8.1.5 # resp. ORACLE_HOME=$ORACLE_BASE/product/current export ORACLE_HOME TWO_TASK=devitka export TWO_TASK PATH=$ORACLE_HOME/bin:$PATH export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:$HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH Samostatný skript spustit v aktuálním shellu pomocí. jméno_skriptu

6 DBI026 -DB Aplikace - MFF UK SQL konzola SQL*Plus Základní prostředek pro komunikaci s databází –Spuštění Windows Zástupce v menu „SQL Plus“, resp. „SQL Plus Home“ (druhý zástupce má jako pracovní nastaven adresář J:\).\BIN\PLUS32W.EXE –Spuštění Linux sqlplus uvádění hesla na příkazové řádce není doporučeno, lze zjistit příkazem ps

7 DBI026 -DB Aplikace - MFF UK SQL konzola SQL*Plus Přihlašovací řetězec definuje jméno databáze V UW1 je přednastavena „devitka“

8 DBI026 -DB Aplikace - MFF UK Příkazy v SQL*Plus SQL*Plus příkazy –Vykonávané konzolou, mění její nastavení –Jednořádkové, ukončené ENTER, nemusí se ukončit středníkem –Zápis na více řádek pomocí rozdělovníku - na konci řádku SQL příkazy –Vykonávané serverem –Víceřádkové, ukončené středníkem –Nemůže obsahovat prázdný řádek, zadání prázdného řádku ukončí zápis příkazu bez jeho odeslání na server

9 DBI026 -DB Aplikace - MFF UK Příkazy v SQL*Plus CASE insensitive, vyjma –Řetězcových konstant v apostrofech ’Text’, ’TEXT’, ’text’, ’TeXt’ jsou navzájem různé –Identifikátorů v uvozovkách ”Osoba”, ”OSOBA”, ”osoba”, ”OSoba” jsou navzájem různé identifikátory Osoba, OSOBA, osoba, OSoba jsou shodné s identifikátorem ”OSOBA”

10 DBI026 -DB Aplikace - MFF UK SQL*Plus příkazy EXIT, QUIT –Ukončení konzoly, běžící transakce je potvrzena DISCONNECT –Odpojení od databáze bez ukončení konzoly, běžící transakce je potvrzena CONNECT –(Odpojení a) nové připojení k databázi

11 DBI026 -DB Aplikace - MFF UK SQL*Plus příkazy SHOW {ALL|parametr} –Zobrazení hodnoty parametru konzoly, případně všech parametrů SET parametr hodnota –Nastavení hodnoty parametru konzoly

12 DBI026 -DB Aplikace - MFF UK SQL*Plus příkaz SET SET LINESIZE n –Šířka výstupu ve znacích. SET PAGESIZE n –Nastavení výšky stránky v řádcích. SET PAUSE {OFF|ON} –Před výstupem každé stránky (i první) počkat na ENTER. SET TRIMSPOOL {OFF|ON} –Výstup ořezává všechny mezery zprava na řádce. Důležité při výstupu do souboru, jinak mají řádky velikost LINESIZE.

13 DBI026 -DB Aplikace - MFF UK SQL*Plus příkaz SPOOL SPOOL soubor[.lst] –Zapnutí spoolování výstupu do souboru. Před zapnutím vhodné zapnout přepínač TRIMSPOOL SPOOL OFF –Vypnutí spoolování výstupu do souboru. SPOOL –Zjištění stavu spoolování

14 DBI026 -DB Aplikace - MFF UK SQL*Plus příkaz DEFINE DEFINE proměnná=hodnota –Nastavení proměnné prostředí SQL*Plus na danou hodnotu &proměnná –Použití proměnné v příkazech, pokud je hodnota nedefinovaná, konzola se na hodnotu zeptá –Nahrazení probíhá i v řetězcích &&proměnná –Použití proměnné v příkazech, pokud je hodnota nedefinovaná, konzola se na hodnotu zeptá a nadefinuje ji –Nahrazení probíhá i v řetězcích

15 DBI026 -DB Aplikace - MFF UK SQL*Plus příkaz DEFINE DEFINE _editor=editor.exe –Nastavení standardního editoru, používaného v konzoli –Předdefinovaný editor notepad.exe pro Windows ed (!) pro UNIX –V UNIXu vhodné proměnnou předefinovat define _editor=vi define _editor=joe …

16 DBI026 -DB Aplikace - MFF UK Editor v SQL*Plus Konzola si pamatuje poslední zadaný SQL (ne SQL*Plus) příkaz a umožňuje ho měnit pomocí editoru –EDIT Volání externího editoru definovaného proměnnou _editor –Příkazy vestavěného (velmi omezeného) editoru –R[UN] Spuštění posledního (případně editorem změněného) SQL příkazu

17 DBI026 -DB Aplikace - MFF UK Vestavěný editor v SQL*Plus L[IST] [m[ n]] –Výpis všech / m-tého / intervalu řádek –Poslední vypsaný řádek je označen znakem „*“ změny pomocí vestavěného editoru se budou týkat tohoto řádku C[HANGE]/vzor/náhrada/ –Nahrazení prvního výskytu vzoru náhradním řetězcem –Lomítka tvoří oddělovače, mohou být nahrazeny libovolným jiným znakem A[PPEND] text –Doplnění textu na konec řádky –První mezera tvoří oddělovač, zbytek se připojuje

18 DBI026 -DB Aplikace - MFF UK Vestavěný editor v SQL*Plus I[NSERT]  1. řádek  2. řádek   –Vložení nových řádek za aktivní řádek označený hvězdičkou DEL[ETE] [m[ n]] –Smazání aktivního / m-tého / intervalu řádek

19 DBI026 -DB Aplikace - MFF UK SQL skripty Textový soubor, obsahující sadu SQL a SQL*Plus příkazů Obvykle s koncovkou.sql LOAD soubor[.sql] –Nahrání skriptu s jedním SQL příkazem START –Spuštění skriptu Při spouštění konzola hledá a spouští skript login.sql, V něm je možné nadefinovat potřebné nastavení konzole Poziční parametry &1, …, &9. Jsou globální, jakékoli volání skriptu je redefinuje

20 DBI026 -DB Aplikace - MFF UK Komentáře v SQL Jednořádkové komentáře, uvozené dvojznakem -- –SELECT rc, -- rodné číslo dn, -- datum narození … Víceřádkové komentáře, uzavřené mezi /* a */ –/* Seznam všech zaměstnanců pobírajících přídavky na děti */ SELECT * FROM Zam WHERE …; Za ukončovacím středníkem nesmí být na řádce komentář, jinak SQL*Plus nepoznají konec příkazu

21 Úvod do Oracle SQL SELECT příkaz Vestavěné funkce a operátory Oracle

22 DBI026 -DB Aplikace - MFF UK Demonstrační tabulky Tabulky –EMP (Employee) DEPT (Department) –Používané v dokumentaci i v řadě příkladů –Lze je vytvořit spuštěním

23 DBI026 -DB Aplikace - MFF UK SQL*Plus Příkaz DESCRIBE Získání stručného popisu objektu v databázi –DESC[RIBE] název_objektu DESC EMP DESC DEPT …

24 DBI026 -DB Aplikace - MFF UK TABULKA DUAL Speciální tabulka s jediným sloupcem DUMMY, obsahující jedinou řádku s hodnotou ’X’ Používá se pro získání hodnoty výpočtu nad konstantami a funkcemi bez parametrů Zaručuje návrat právě jedné řádky s výsledkem Například –SELECT 1+1 FROM DUAL; –SELECT SysDate, User FROM DUAL;

25 DBI026 -DB Aplikace - MFF UK Vestavěné funkce Oracle Několik hlavních skupin funkcí –Číselné (číslo  číslo) –Řetězcové –Datumové –Konverzní –Speciální

26 DBI026 -DB Aplikace - MFF UK Vestavěné číselné funkce Oracle Obvyklé funkce známé z jiných programovacích jazyků –SIN(x), COS(x), … ABS(x), SQRT(x), SIGN(x), … MOD(x,y) ROUND(x) (matematické zaokrouhlování) TRUNC(x) (zaokrouhlování dolů) …

27 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle CONCAT(s1,s2), operátor || –Řetězení, obvykle se téměř výhradně používá přehlednější zápis pomocí operátoru –SELECT Concat(’polo’,’vina’) FROM DUAL; –SELECT ’tře’||’ti’||’na’ FROM DUAL;

28 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle LENGTH(s) –Délka řetězce SUBSTR(s, n[, k]) –Podřetězec od n-tého znaku (počítáno od jedné) o délce k znaků, resp. do konce řetězce –Pokud je n záporné, počítá se n-tý znak od konce –SUBSTR(’babička’,3,3)  ’bič’ –SUBSTR(’babička’,-3,1)  ’č’

29 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle INSTR(Txt, Vzor[, n[, k]]) –Pozice k-tého výskytu Vzoru v textu, počínaje n-tým znakem. Pokud je n záporné, počítá se n-tý znak od konce –INSTR(’babička’,’bič’)  3 –INSTR(’babička’,’a’)  2 –INSTR(’babička’,’a’,4)  7 –INSTR(’babička’,’a’,1,2)  7 –INSTR(’babička’,’a’,3,2)  0

30 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle UPPER(s), LOWER(s) –Převod na velká, resp. malá písmena INITCAP(s) –První Písmeno Každého Slova Velké, Ostatní Písmena Malá

31 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle LTRIM(Txt [,Znaky]) –Z řetězce Txt odřízne zleva všechny znaky, nacházející se v řetězci Znaky –Standardně ořezává mezery –LTRIM(’babička’,’abc’)  ’ička’ RTRIM(Txt [,znaky]) –Totéž zprava –RTRIM(’babička’,’abc’)  ’babičk’ TRIM(Txt [,znaky]) –Totéž oboustranně

32 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle LPAD(Txt, n, [,Vzor]) –Doplňuje zleva řetězec Txt na celkovou délku n znaků. –Pro doplňování používá cyklicky znaky z řetězce Vzor. –Standardně doplňuje mezery. –LPAD(’ička’,7,’ba’)  ’babička’ RPAD(Txt, n, [,Vzor]) –Totéž zprava

33 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle REPLACE(Txt, Vzor, Náhrada) –Nahradí všechny výskyty vzoru v textu Txt. –REPLACE(’babička’,’ba’,’kra’)  ’krabička’ –REPLACE(’babička’,’a’,’(a)’)  ’b(a)bičk(a)’

34 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle TRANSLATE(Txt, Vzor, Náhrada) –Nahradí v textu všechny výskyty znaků ze Vzoru pozičně odpovídajícími znaky Náhrady. –Pokud je náhrada kratší, znaky bez náhrady se odstraňují –TRANSLATE(’babička’,’aei’,’AEI’)  ’bAbIčkA’ –TRANSLATE(’babička’,’aei’,’AE’)  ’bAbčkA’

35 DBI026 -DB Aplikace - MFF UK Vestavěné řetězcové funkce Oracle TRANSLATE(Txt, Vzor, Náhrada) –Vhodné na ověřování formátu dat –TRANSLATE(r_cislo, ’ ’,’ ’) vrací pro korektní r.č. ’999999/999’ nebo ’999999/9999’

36 DBI026 -DB Aplikace - MFF UK Vestavěné datumové funkce Oracle SYSDATE –Aktuální datum a čas na serveru D + n –Datum D plus n dní –SELECT SYSDATE + 18/24 FROM DUAL; O 18 hodin více D2 – D1 –Rozdíl mezi daty ve dnech

37 DBI026 -DB Aplikace - MFF UK Vestavěné datumové funkce Oracle ADD _ MONTHS(D,n) –O n měsíců později –ADD_MONTHS(’ ’,1)  ’ ’ –ADD_MONTHS(’ ’,2)  ’ ’ LAST _ DAY(D) –Poslední den v měsíci k datu D –LAST_DAY(’ ’)  ’ ’ NEXT _ DAY(D,název) –Datum prvního dne s daným názvem po datu D –NEXT_DAY(’ ’,’monday’)  ’ ’ –NEXT_DAY(’ ’,’sunday’)  ’ ’

38 DBI026 -DB Aplikace - MFF UK Vestavěné datumové funkce Oracle TO _ CHAR(D[, Maska]) –Datum D převedené na textový formát dle masky DD – den MM – měsíc YY, YYY, YYYY – rok na 2, 3, 4 cifry HH, HH24 – hodina 0..12, resp MI – minuta SS – sekunda Mon, MON, mon, Month, MONTH, month – měsíc zkratkou, slovem D – den v týdnu 0..6, resp podle kalendáře DDD – den v roce TH – předchozí číslo je s pořadovou koncovkou (anglickou) SP – předchozí číslo je zapsáno slovy (anglicky) … – řada dalších –TO_CHAR(SYSDATE,’dd.mm.yyyy hh24:mi:ss’)  ’ :47:12’

39 DBI026 -DB Aplikace - MFF UK Vestavěné speciální funkce Oracle USER –Jméno přihlášeného uživatele ROWNUM –V SELECT klauzuli pořadové číslo řádky na výstupu Vyhodnocuje se dříve než ORDER BY klauzule! SELECT ROWNUM, ENAME FROM EMP WHERE ROWNUM<=5

40 Relační model Oracle SQL Vytváření tabulek a pohledů Integritní omezení Aktualizace dat

41 DBI026 -DB Aplikace - MFF UK Vytváření tabulek CREATE TABLE jm_tab ( jm_sloupce typ [(velikost)] [omezení], …, omezení_řádky, … ); CREATE TABLE Osoba ( rc varchar2(11) CONSTRAINT Osoba_PK PRIMARY KEY, jmeno varchar2(50) NOT NULL );

42 DBI026 -DB Aplikace - MFF UK Vytváření tabulek CREATE TABLE jm_tab AS SELECT …; CREATE TABLE OsobaX AS SELECT * FROM Osoba WHERE jmeno>=’X’; –Takto vytvořená tabulka nemá definovaná žádná integritní omezení, (ani primární klíč) –Nutno doplnit

43 DBI026 -DB Aplikace - MFF UK Integritní omezení [CONSTRAINT jméno] definice_omezení –NULL, resp. NOT NULL –UNIQUE –PRIMARY KEY –CHECK (podmínka) –REFERENCES tabulka(sloupec) [ON DELETE {CASCADE|SET NULL}] –DEFAULT hodnota

44 DBI026 -DB Aplikace - MFF UK Datový slovník Informace o tabulkách jsou uloženy v –USER_OBJECTS (seznam všech vlastních objektů) –USER_TABLES (seznam tabulek) –USER_TAB_COLUMNS (seznam sloupců tabulek) –USER_CONSTRAINTS (seznam omezení)

45 DBI026 -DB Aplikace - MFF UK Řádková integritní omezení Mohou kontrolovat vzájemný vztah více sloupců jednoho řádku –CHECK (zacatek <= konec) Mohou definovat vícesloupcové primární a kandidátní a cizí klíče –PRIMARY KEY (zacatek, konec) –FOREIGN KEY (zacatek, konec) REFERENCES Rodic (x, y)

46 DBI026 -DB Aplikace - MFF UK Atributy integritních omezení ENABLED / DISABLED –Omezení je aktivní a platnost se ověřuje ALTER TABLE tabulka {ENABLE|DISABLE} CONSTRAINT omezení; DEFERRED / NOT DEFERRED ALTER TABLE tabulka MODIFY CONSTRAINT omezení [[NOT] DEFERRABLE] [INITIALLY {IMMEDIATE|DEFERRED}]; –Ověření se odloží/neodloží na konec transakce

47 DBI026 -DB Aplikace - MFF UK Vkládání dat INSERT INTO tabulka [( sloupec1, sloupec2, …)] VALUES ( hodnota1, hodnota2, …); –Pokud nejsou sloupce uvedeny, převezmou se všechny sloupce tabulky v pořadí dle definice –Neuvedené sloupce budou inicializovány DEFAULT hodnotou

48 DBI026 -DB Aplikace - MFF UK Vkládání dat INSERT INTO tabulka [( sloupec1, sloupec2, …)] SELECT …; –Pokud nejsou sloupce uvedeny, převezmou se všechny sloupce tabulky v pořadí dle definice –Neuvedené sloupce budou inicializovány DEFAULT hodnotou

49 DBI026 -DB Aplikace - MFF UK Aktualizace dat UPDATE tabulka SET sloupec1=hodnota1, … [WHERE podmínka]; –Pokud není podmínka definována, aktualizují se všechny řádky

50 DBI026 -DB Aplikace - MFF UK Rušení dat DELETE FROM tabulka [WHERE podmínka]; –Pokud není podmínka definována, ruší se všechny řádky!

51 DBI026 -DB Aplikace - MFF UK Rušení tabulky DROP TABLE tabulka [CASCADE CONSTRAINTS]; –Provádí automaticky potvrzení transakce –S klauzulí CASCADE CONSTRAINTS zruší cizí klíče od podřízených tabulek

52 DBI026 -DB Aplikace - MFF UK Změna definic ALTER TABLE tabulka ADD ( definice sloupce | omezení, … ); ALTER TABLE tabulka DROP COLUMN sloupec; ALTER TABLE tabulka DROP CONSTRAINT omezení; ALTER TABLE tabulka MODIFY redefinice sloupce;

53 DBI026 -DB Aplikace - MFF UK Pohledy Pojmenované dotazy –Skrývání dat (řádků či sloupců) před uživateli –Zjednodušování dotazů. CREATE [OR REPLACE] VIEW Pohled [(sloupec1, …)] AS SELECT [WITH {READ ONLY | CHECK OPTION}]; –WITH READ ONLY: Pohled nelze aktualizovat –WITH CHECK OPTION: Pohled lze aktualizovat pouze tak, aby řádky stále patřily do pohledu

54 DBI026 -DB Aplikace - MFF UK Pohledy DROP VIEW Pohled; ALTER VIEW Pohled COMPILE; Informace o pohledech jsou uloženy v –USER_VIEWS –USER_TAB_COLUMNS –USER_UPDATABLE_COLUMNS

55 DBI026 -DB Aplikace - MFF UK Synonyma Alternativní názvy pro již existující objekty (tabulky, pohledy, synonyma, …) CREATE [PUBLIC] SYNONYM nové_jméno FOR [schema.]staré_jméno; –Všechny dotazy a manipulace s daty prostřednictvím identifikátoru nové_jméno jsou ekvivalentní příkazům používajícím staré_jméno

56 DBI026 -DB Aplikace - MFF UK Synonyma DROP [PUBLIC] SYNONYM nové_jméno; Informace o synonymech jsou uloženy v –USER_SYNONYMS

57 DBI026 -DB Aplikace - MFF UK Funkce a NULL hodnoty Většina funkcí, dostanou-li za některý parametr NULL, vrací NULL –Oracle: v řetězcových fcích i jinde (NULL ~ ’’) ’Jan’||NULL||’ ’||NULL||’Novák’  ’Jan Novák’ –Bohužel odchylka od ANSI, kde NULL má být disjunktní od libovolné platné hodnoty jakéhokoli typu Ve speciálních funkcích se s NULL hodnotami počítá –NVL, NVL2 a COALESCE DECODE

58 DBI026 -DB Aplikace - MFF UK Funkce NVL, NVL2 a COALESCE NVL(výraz, if_null_hodnota) –Oracle SQL - pokud je výraz NULL, vrací druhý argument, jinak vrací výraz NVL2(výraz, if_null, if_not_null) –Oracle 9+ SQL - pokud je výraz NULL, vrací druhý argument, jinak třetí argument COALSECE(výraz1, výraz2, …) –ANSI SQL, Oracle 9+ SQL, vrací první definovaný výraz ze seznamu

59 DBI026 -DB Aplikace - MFF UK Agregační funkce AVG(x), SUM(x), MIN(x), MAX(x), COUNT(DISTINCT x) –NULL hodnoty se neuvažují COUNT(x) –NULL hodnoty se korektně započítají

60 DBI026 -DB Aplikace - MFF UK Funkce LEAST a GREATEST LEAST(výraz1, výraz2, …) –Akceptuje různé datové typy –Vrací hodnotu nejmenšího uvedeného výrazu –NULL hodnota v seznamu má za následek výsledek NULL GREATEST(výraz1, výraz2, …) –Vrací hodnotu největšího uvedeného výrazu –NULL hodnota v seznamu má za následek výsledek NULL

61 DBI026 -DB Aplikace - MFF UK Funkce DECODE DECODE(výraz, vzor1, hodnota1, … [, default]) –Oracle SQL, pokud je výraz roven i-tému vzoru, je výsledkem i-tá hodnota, jinak default, případně NULL –Vzorem může být i NULL hodnota Dekódování –SELECT DECODE(den,’S’,’Sobota’,’N’,’Neděle’,’Pracovní den’) Rozdělení jedné hodnoty do více sloupců –SELECT Cena, Decode(DPH,5,Cena*0.05,NULL) Dph5, Decode(DPH,19,Cena*0.19,NULL) Dph19 FROM Prodej;

62 DBI026 -DB Aplikace - MFF UK Příklady Dána tabulka DBI026(Grupik VARCHAR2(100)) Data ve formátu ’Jmeno Prijmeni (login) …’ –Napište dotaz, který vrátí seznam loginů SELECT Substr(Grupik, Instr(Grupik,’(’)+1, Instr(Grupik,’)’) - Instr(Grupik,’(’) – 1 ) Login FROM DBI026;

63 DBI026 -DB Aplikace - MFF UK Příklady Dána tabulka DBI026(Grupik VARCHAR2(100)) Data ve formátu ’Jmeno Prijmeni (login) …’ –Napište dotaz, který vrátí seznam ve tvaru PŘÍJMENÍ Jméno, setříděný vzestupně SELECT Upper(Substr(Grupik,Instr(Grupik,’ ’)+1, Instr(Grupik,’(’)-Instr(Grupik,’ ’)–2) ||’ ’||Substr(Grupik,1,Instr(Grupik,’ ’)-1) PrJm FROM DBI026 ORDER BY PrJm;

64 DBI026 -DB Aplikace - MFF UK Příklady Dána tabulka DBI026(Grupik VARCHAR2(100)) Data ve formátu ’Jmeno Prijmeni (login) …’ –Vytvořte pohled, který bude obsahovat sloupec PrJm obsahující „PŘÍJMENÍ Jméno“ CREATE VIEW Student AS SELECT Upper(Substr(Grupik,Instr(Grupik,’ ’)+1, Instr(Grupik,’(’)-Instr(Grupik,’ ’)–2) ||’ ’||Substr(Grupik,1,Instr(Grupik,’ ’)-1) PrJm FROM DBI026;


Stáhnout ppt "Databázové Aplikace Slidy ke cvičení DBI026, část 1 KSI MFF UK Verze 05.11.02.16.15."

Podobné prezentace


Reklamy Google