sql server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · rdbms avem...

33
SQL Server

Upload: truongkhanh

Post on 05-Feb-2018

252 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

SQL Server

Page 2: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Harta conceptuală

SQL

Page 3: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Limbajul SQL SQL este un limbaj standard pentru accesarea și

manipularea bazelor de date

SQL – Structured Query Language

SQL este un standard ANSI (American National

Standards Institute)

Page 4: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Pentru ce se utilizează Pentru a executa interogări la baza de date

Pentru a extrage date din baza de date

Pentru a insera înregistrări în baza de date

Pentru a actualiza înregistrări în baza de date

Pentru a șterge înregistrări în baza de date

Pentru a crea noi baze de date

Pentru a crea noi tabele în baza de date

Pentru a crea proceduri stocate, funcții, triggere

Pentru a crea vizualizări în baza de date

Pentru a stabili permisiuni asupra entităților din baza de date

Page 5: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

RDBMS Avem nevoie de un sistem de gestiune a

bazelor de date.

Microsoft SQL Server

MySQL

Oracle

IBM DB2

Microsoft Access

Page 6: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

DML şi DDL

DML - Data Manipulation Language –

comenzile pentru extragere și actualizare SELECT - extrage date din baza de date

UPDATE - actualizează date în baza de date

DELETE - șterge înregistrări din baza de date

INSERT INTO - inserează date noi în baza de date

Page 7: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

DML şi DDL DDL - Data Definition Language – comenzi pentru

creare/modificare bază de date, tabele, indecși,

stabilire legături între tabele, constrângeri CREATE DATABASE

ALTER DATABASE

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

Page 8: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Crearea bazei de date în SQL CREATE DATABASE MyDB ON (NAME = MyDBroot, --Fişier

primar de date

FILENAME = 'c:\mssql2k\MSSQL\data\mydbroot.mdf', SIZE = 8MB,

MAXSIZE = 9MB, FILEGROWTH = 100KB),

(NAME = MyDBdata1, --Fişier secundar de date

FILENAME = 'c:\mssql2k\MSSQL\data\mydbdata1.ndf', SIZE = 1000MB,

MAXSIZE = 1500MB, FILEGROWTH = 100MB)

LOG ON

(NAME = Logdata1, --Jurnal de tranzacţii

FILENAME = 'e:\log_files\logdata1.ldf', SIZE = 1000MB, MAXSIZE = 1500MB,

FILEGROWTH = 100MB)

Page 9: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Baze de date de sistem Master

Tempdb

Model

Msdb

Page 10: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Crearea tabelelor O bază de date conține cel puțin o tabelă identificată prin

nume. Tabelele conțin înregistrări cu date

Pentru a crea tabele se utilizează

CREATE TABLE table_name

(

column_name1 data_type,

column_name2 data_type,

column_name3 data_type,

....

)

Page 11: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL Şiruri de caractere

Page 12: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL Şiruri de caractere Unicode

Page 13: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL Tipuri binare

Page 14: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL Tipuri numerice

Page 15: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL Tipuri numerice

Page 16: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL

Page 17: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL Tipuri de date pentru dată

Page 18: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL

Page 19: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Tipuri de date în MSSQL

Page 20: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângeri Se folosesc pentru a limita tipul datelor care pot ajunge în

tabelă

Se pot specifica la crearea tabelei (în instrucțiunea CREATE TABLE) sau după ce a fost creată tabela (cu instrucțiunea ALTER TABLE)

NOT NULL

UNIQUE

PRIMARY KEY

FOREIGN KEY

CHECK

DEFAULT

Page 21: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângeri CREATE TABLE student

(

st_Id int NOT NULL,

nume varchar(255) NOT NULL,

prenumevarchar(255),

Addresa varchar(255),

Oras varchar(255)

)

Page 22: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângeri CREATE TABLE student

(

st_Id int NOT NULL,

Nume varchar(255) NOT NULL,

Prenume varchar(255),

Adresa varchar(255),

Oras varchar(255),

CONSTRAINT uc_studentID UNIQUE (st_Id,prenume)

)

Page 23: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângerea UNIQUE – cu

ALTER TABLE ALTER TABLE student

ADD UNIQUE (st_Id)

ALTER TABLE student

ADD CONSTRAINT uc_studentID UNIQUE (st_Id, nume)

Page 24: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Ştergerea unei constrîngeri ALTER TABLE student

DROP CONSTRAINT uc_studentID

Page 25: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângeri CREATE TABLE student

(

st_Id int NOT NULL,

Nume varchar(255) NOT NULL,

Prenume varchar(255),

Adresa varchar(255),

Oras varchar(255),

CONSTRAINT pk_studentID PRIMARY KEY

(st_Id,nume)

)

Page 26: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângeri CREATE TABLE note_exam

(

nota_Id int NOT NULL,

nota int NOT NULL,

st_Id int,

PRIMARY KEY (nota_Id),

FOREIGN KEY (st_Id) REFERENCES student(st_Id)

)

Page 27: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângeri CREATE TABLE student

(

st_Id int NOT NULL CHECK (st_Id>0),

Nume varchar(255) NOT NULL,

Prenume varchar(255),

Adresa varchar(255),

Oras varchar(255)

)

ALTER TABLE student

ADD CONSTRAINT chk_student CHECK (st_Id>0

AND oras=‘Chisinau')

Page 28: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângerea Default CREATE TABLE student

(

st_Id int NOT NULL,

Nume varchar(255) NOT NULL,

Prenume varchar(255),

Adresa varchar(255),

Oras varchar(255) DEFAULT ‘Balti'

)

Page 29: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângerea Default CREATE TABLE Note_exam

(

nota_Id int NOT NULL,

nota int NOT NULL,

st_Id int,

Data_exam date DEFAULT GETDATE()

)

Page 30: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Instrucţiunea DROP DROP TABLE - șterge o tabelă

DROP TABLE table_name

TRUNCATE TABLE - șterge doar înregistrările dintr-

o tabelă

TRUNCATE TABLE table_name

Page 31: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Instrucţiunea ALTER Folosită pentru a adăuga, modifica, șterge, coloane dintr-o

tabelă

Adăugarea unei coloane

ALTER TABLE table_name

ADD column_name datatype

Ștergerea unei coloane

ALTER TABLE table_name

DROP COLUMN column_name

Schimbarea tipului de date pentru o coloană

ALTER TABLE table_name

ALTER COLUMN column_name datatype

Page 32: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Constrângerea IDENTITY CREATE TABLE student(

st_Id int PRIMARY KEY IDENTITY,

Nume varchar(255) NOT NULL,

Prenume varchar(255), Adresa varchar(255),

Oras varchar(255) )

Implicit pornește de la 1 și crește cu 1

Altfel IDENTITY(5,2)

Page 33: SQL Server - elearning.usarb.mdelearning.usarb.md/blog/matveeva/files/2013/03/sql.pdf · RDBMS Avem nevoie de un sistem de gestiune a bazelor de date. Microsoft SQL Server MySQL Oracle

Întrebări