Datatypes Character Datatypes CHAR znakovy typ, ukladajici retezce s pevnou poctem znaku, defaultne je pocet 1, ale maximalne lze nadefinovat az 2000 znaku NCHAR totez, ale pro ukladani mnoziny narodnich znaku. Pouzivajici pro ukladani i vicebytove hodnoty VARCHAR2 typ pro ukladani mnoziny znaku s promenlivou delkou retezce. Pri definici se udava maximalni hodnota. Je mozno ukladat strinky az o delce 4000 znaku. NVARCHAR2 totez, ale pouziva se pro ukladani narodnich abeced. Delka je omezena na 4000 bytu, tedy pri vice bytovem ukladani jednoho zanku je mozne ulozit pouze odpovidajici retezec, nezabirajici vice nez 4000 bytu. NUMBER Datatype Datovy typ umoznujici ukladani cisel. V maximalnim rozsahu 1.0 x 10^-130 and 9.9...9 x 10^125 s presnosti na maximalne 38 mist. Pokud se pokusite do databaze ukladat hodnoty vetsi nebo rovne 1^126, tak Oracle ohlasi chybu. NUMBER(p,s) pripadne NUMBER(p) ekvivalentni zapisu NUMBER(p,0) kde p je pocet platnych cifer a s je presnost na pocet desetinnych mist Pr. 7456123.89 NUMBER 7456123.89 NUMBER(9) 7456124 NUMBER(9,2) 7456123.89 NUMBER(9,1) 7456123.9 NUMBER(6) exceeds precision NUMBER(7,-2) 7456100 NUMBER(-7,2) exceeds precision .01234 NUMBER(4,5) .01234 .00012 NUMBER(4,5) .00012 .000127 NUMBER(4,5) .00013 .0000012 NUMBER(2,7) .0000012 .00000123 NUMBER(2,7) .0000012 Pripadne je jeste pro cisla s plovouci radovou carkou uzit typ FLOAT, FLOAT(p), kde cislo p udava LONG Datatype Tento typ je pro ukladani retezcu s promenlivym poctem znaku az do velikosti 2 GB, charakteristika tohoto typu je podobna jako pro VARCHAR2. Oracle tento typ interne pouziva k ukladani definice views v datovem slovniku. Delka hodnoty LONG muze byt take limitovana velikosti pameti dostupne na pocitaci. Na LONG typ je nekolik omezeni: Tabulka nemuze obsahovat vice nez jeden sloupecek typu LONG, pomoci tohoto sloupce nemuze byt tabulka indexovana sloupecek nemuze byt uveden v castech SQL dotazu na mistech WHERE, GROUP BY, ORDER BY DATE Datatype Datovy typ ukladajici datum a cas. Pro kazdou polozku Oracle uklada rok, mesic, den, hodinu, minutu a sekundu. Pri ukladani se defaultne dava cas pulnoci, pokud neni udan a kontroluje se, zda se jedna o datum platne. V opacnem pripade je ohlasena chyba. Na tomto typu je taky definovana aritmetika, ale pouze pricitani a odcitani konstant. Ukladani dat je mozne od January 1, 4712 pred kristem RAW and LONG RAW Datatypes pro ukladani binarnich dat, pripadne retezcu. Tato data nejou Oraclem interpretovana. Jedna se o podobne typy jako jsou VARCHAR2, pouze pri exportech a importech nejsou pouzivani konverzni funkce. Ukladani grafiky, zvuku, dokumentu pripadne jina binarni data. (je mozny pripadny prevod do CHAR, kdy se 4bity reprezentuji jako jeden znak) Large Object (LOB) Datatypes Interni LOB objekty BLOB, CLOB, NCLOB a externi BFILE jsou pro ukladani velkych nestrukturovanych polozek jako jsou text, obrazky, video a dalsi data do velikosti 4 GB. Hodnota BFILE zalezi na konkretnim filesystemu, ale nemuze prekrocit velikost 4GB. Pri vytvareni tabulky je mozne zadefinovat ruzny tablespace a misto ulozeni. CREATE TABLE person_table (name CHAR(40), resume CLOB, picture BLOB) LOB (resume) STORE AS ( TABLESPACE resumes STORAGE (INITIAL 5M NEXT 5M) ); BFILE - ukladani externich souboru CLOB - single-byte character object data NCLOB - fixed-width,multibyte national charakter set ROWID Datatype Datovy typ, ktery se pouziva interne k ukladani adres (ID) jednotlivych radku. Slozeny ze tri casti block.row.file (Oracle 7) Uzivatelsky definovane typy Dalsi typy je mozne uzivatelsky zadefinovat pomoci prikazu CREATE TYPE a CREATE TYPE BODY Data Definition Language DDL commands ---------------------------- CREATE DATABASE Create a database. CREATE TABLE Create a table, defining its columns, integrity constraints, and storage allocation. CREATE TABLESPACE Create a place in the database for storage of schema objects, rollback segments, and temporary segments, naming the datafiles that make up the tablespace. ALTER TABLE Add a column/integrity constraint to a table. Redefine a column, to change a table's storage characteristics. Enable/disable/drop an integrity constraint. Enable/disable table locks on a table. Enable/disable all triggers on a table. Allocate an extent for the table. Allow/disallow writing to a table. Modify the degree of parallelism for a table. ALTER TABLESPACE Add/rename datafiles. Change storage characteristics. Take a tablespace online/offline. Begin/end a backup. Allow/disallow writing to a tablespace. DROP TABLE Remove a table from the database. Data Manipulation Language DML commands ----------------------------- DELETE Remove rows from a table EXPLAIN PLAN Return the execution plan for a SQL statement. INSERT Add new rows to a table. LOCK TABLE Lock a table or view, limiting access to it by other users. SELECT Select data in rows and columns from one or more tables. UPDATE Change data in a table. --------------------------------------- CREATE TABLE To create a table, the basic structure to hold user data, specifying the following information: column definitions table organization definition column definitions using objects integrity constraints the table's tablespace storage characteristics an optional cluster data from an arbitrary query degree of parallelism used to create the table and the default degree of parallelism for queries on the table partitioning definitions index-organized or heap-organized Relational table definition CREATE TABLE [schema.]table ( [column datatype , [DEFAULT expr] , [column_ref_clause] , [column_constraint [ , ] ] | table constraint | table_ref_clause ] [ , ] ) [ segment_attributes_clause | ORGANIZATION [INDEX index_organized_table_clause | HEAP segment_attributes_clause] | CLUSTER cluster ( column [.] ) ] column_ref_clause [ WITH ROWID ] , [ SCOPE IS [schema.]scope_table_name ] CREATE TABLE Prikaz pouzivajici se pro nasledujici operace: definici sloupecku tabulky organizace cele tabulky, definice sloupcu s objekty integritni omezeni tabulkovy tablespace charakteristiku ukladani (volitelny cluster, standartni nastaveni stupne paralelismu pro tvorbu tabulky a pro dotazy na tabulku, organizace tabulky (index/heap) ) Pro vytvoreni tabulky je potreba mit pravo na tvorbu tabulek pro vlastni schema, pripadne pravo CREATE ANY TABLE pro tvorbu tabulky ve schematu jineho uzivatele. ALTER TABLE pridavani sloupce pridavani integritniho omezeni redefinici sloupce modifikace ukladani prace s castecnymi tabulkami, cache/nocache atributy,... INSERT hlavne pridavani radku do tabulky DELETE (opak insertu) mazani radku z tabulky, pri splneni nejake podminky DROP TABLE smazani tabulky i celym jejim obsahem