baze podataka vezbe v za net - university of novi sad · • naredbe vezane za šemu baze podataka...

19
SQL Vežbe V

Upload: others

Post on 19-Jan-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

SQLVežbe V

Page 2: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

CREATE DATABASE

CREATE DATABASE naziv-baze-podataka

[ ON < filespec > [ ,...n ] ]

[ LOG ON < filespec > [ ,...n ] ]

< filespec > ::= ( [ NAME = logical_file_name , ]

FILENAME = 'os_file_name' [ , SIZE = size ] [ ,MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] ) [

,...n ] )

Page 3: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

Primer

CREATE DATABASE student

ON

( NAME = ’stud_sl_pod’,

FILENAME = 'C:\Program Files\Microsoft SQL //UNETI SVOJU PUTANJU

Server\MSSQL.1\MSSQL\Data\student.mdf‘, SIZE = 10,

MAXSIZE = 50, FILEGROWTH = 5 )

LOG ON

( NAME = 'stud_sl_log',

FILENAME = 'C:\Program Files\Microsoft SQL

Server\MSSQL.1\MSSQL\Data\student.ldf’, SIZE = 5MB,

MAXSIZE = 25MB, FILEGROWTH = 5MB )

Tip datoteke Ekstenzija

Primarna datoteka

podataka

.mdf

Sekundarne datoteke

podataka

.ndf

Transakcioni log fajl .ldf

Page 4: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

CREATE DATABASE sajt ON

(NAME='sajt_pod',

FILENAME=‘D:\procedura\sajt.mdf')

LOG ON

(NAME='sajt_log',

FILENAME=‘D:\procedura\sajt.ldf')

Page 5: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

ALTER DATABASE

ALTER DATABASE database_name{ ADD FILE < filespec > [ ,...n ]| ADD LOG FILE < filespec > [ ,...n ] | REMOVE FILE logical_file_name| MODIFY FILE < filespec > | MODIFY NAME = new_dbname| SET < optionspec > [ ,...n ] [ WITH < termination > ]}

< optionspec > = < state_option > | < cursor_option > | < auto_option > | < sql_option > | < recovery_option >

< state_option > ={ SINGLE_USER | RESTRICTED_USER | MULTI_USER } | { OFFLINE | ONLINE } | { READ_ONLY | READ_WRITE }

Page 6: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

Primer

ALTER DATABASE student

ADD FILE

( NAME = Stud_sl_pod2,

FILENAME = 'C:\Program Files\Microsoft SQL

Server\MSSQL.1\MSSQL\Data\student.ndf',

SIZE = 5MB,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10% )

Page 7: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

DROP DATABASE

DROP DATABASE database_name [ ,...n ]

USE database_name

Page 8: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

Naredbe SQL-a

• Naredbe vezane za šemu baze podataka

� CREATE, ALTER, DROP

• Naredbe vezane za podatke

� INSERT, BULK INSERT, UPDATE, SELECT, DELETE

• Naredbe vezane za transakcije

� COMMIT, ROLLBACK

• Naredbe vezane za kontrolu

� CALL, RETURN

• Naredbe vezane za sesije

� SET

Page 9: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

Tabele i kolone – Osnovna svojstva

• Bazna tabela – tabela čiji se podaci smeštaju u bazu podataka

• Tabela pogleda – imenovani upit koji se može pozvati korišćenjem datog imena

• Izvedena tabela – rezultat izvršavanja upita

Page 10: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

SQL TIPOVI PODATAKA

• Binarni� BIT, BIT VARYING, BLOB

• Datumski� DATE, TIME

• Logički� BOOLEAN

• Numerički▫ tačni

� INT, SMALLINT, DEC

▫ približni

� REAL, FLOAT

• Tekstualni� CHAR, VARCHAR, CLOB

Page 11: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,
Page 12: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

CREATE TABLE

CREATE TABLE naziv-tabele ( def.-kolone-1,..., [ def.-ograničenja-na-nivou-tabele-1, ...] )

Definicija-kolone

naziv-kolone tip-podatka [DEFAULT klauzula] [def.-ograničenja-na-nivou-kolone]

Definicija-ograničenja-na-nivou-kolone

[NOT NULL] [UNIQUE ] [PRIMARY KEY] [REFERENCES klauzula] [CHECK klauzula]

REFERENCES naziv-tabele [(naziv-kolone-1)]

CHECK (uslov)

Definicija-ograničenja-na-nivou-tabele

[UNIQUE(naziv-kol-1, ...)] [PRIMARY KEY (naziv-kol-1, ...)] [FOREIGN KEY (naziv-kol-1, ...) REFERENCES klauzula] [CHECK klauzula]

Page 13: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

Primer

CREATE TABLE student(bro_dos CHAR(10) PRIMARY KEY,pre_stu CHAR(25) NOT NULL,ime_stu CHAR(20) NOT NULL,pol_stu CHAR(1) DEFAULT 'z' CONSTRAINT stud_c_po CHECK (pol_stu IN ('z','m')),dat_rod_stu SMALLDATETIME NOT NULL)

CREATE TABLE upis(bro_dos CHAR(10) CONSTRAINT upis_c_bd REFERENCES student,sko_god SMALLINT CONSTRAINT upis_c_sg CHECK (sko_god BETWEEN 1970 AND 2010),god_stu SMALLINT CONSTRAINT upis_c_gs CHECK (god_stu BETWEEN 1 AND 4),nac_fin CHAR(1) CONSTRAINT upis_c_ns CHECK (nac_fin='b' OR nac_fin='s'),CONSTRAINT upis_pk PRIMARY KEY (bro_dos, sko_god))

CREATE TABLE ispit(bro_dos CHAR(10) REFERENCES student,sko_god SMALLINT CHECK (sko_god BETWEEN 1970 AND 2010),isp_rok SMALLINT CHECK (isp_rok BETWEEN 1 AND 13),sif_pre SMALLINT,sif_nas CHAR(6),ocena SMALLINT CHECK (ocena BETWEEN 5 AND 10 OR ocena=1),dat_isp SMALLDATETIME,PRIMARY KEY (bro_dos, sko_god, isp_rok, sif_pre))

Page 14: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

ALTER TABLE

ALTER TABLE naziv-tabele [ADD klauzula] [DROP klauzula] [ALTER klauzula]

ADD klauzula

ADD naziv-kolone tip-podatka [DEFAULT klauzula] [def.-ograničenja-na-nivou-kolone] [BEFORE naziv-kolone]

ADD [UNIQUE (naziv-kol-1, ...)] [PRIMARY KEY (naziv-kol-1, ...)] [FOREIGN KEY (naziv-kol-1, ...) REFERENCES klauzula] [CHECK klauzula]

DROP klauzula

DROP COLUMN naziv-kolone

DROP CONSTRAINT naziv-ograničenja

ALTER klauzula

ALTER COLUMN naziv-kolone tip-podatka [DEFAULT klauzula] [def.-ograničenja-na-nivou-kolone]

Page 15: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

Primer

ALTER TABLE upis ADD vrs_upi SMALLINT

ALTER TABLE ispit DROP CONSTRAINT ispit_r_bd

ALTER TABLE ispit ADD FOREIGN KEY (bro_dos, sko_god) REFERENCES upis

Page 16: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

CREATE INDEX

CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX naziv-indeksa ON naziv-tabele (naziv-kol-1 [DESC], ...)

DROP INDEX naziv-indeksa on naziv-tabele

Page 17: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

INSERT INTO naziv-tabele [ (naziv-kolone-1, ...) ] VALUES klauzula | SELECT iskaz

VALUES klauzula

VALUES (NULL | broj | "string" | konstanta, ...)

konstanta

USER | CURRENT | ...

Page 18: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

BULK INSERT

BULK INSERT naziv_tabele

FROM 'data_file' }[ WITH ( [ CHECK_CONSTRAINTS ] [ [ , ] FIELDTERMINATOR [ =

'field_terminator' ] ] [ [ , ] FIRSTROW [ = first_row ] ] [ [ , ] LASTROW [ = last_row ] ] [ [ , ] ROWTERMINATOR [ =

'row_terminator' ] ] ) ]

Page 19: Baze podataka Vezbe V za net - University of Novi Sad · • Naredbe vezane za šemu baze podataka CREATE, ALTER, DROP • Naredbe vezane za podatke INSERT, BULK INSERT, UPDATE, SELECT,

DELETE

DELETE [FROM] naziv-tabele [ WHERE uslov ]