Sunteți pe pagina 1din 15

Architecture dune base de

donnes SQL Server 2014


Pr. C. El Amrani

Introduction
2

Une base de donnes peut tre dfinie selon plusieurs points de vu :

Administrateur, c'est un ensemble de fichiers contenant des donnes


organises, qui doivent tre sauvegardes, nettoyes, rorganises,
scurises, etc.
Utilisateur, c'est un espace, lui permettant d'enregistrer des informations et
de les retrouver quand il en a besoin.
Dveloppeur, c'est un ensemble de tables contenant des donnes, d'index
permettant d'acclrer leur rcupration et de procdures permettant d'y
travailler de la manire la plus rapide et la plus sre.

Une base de donnes SQL Server est constitue d'au moins deux fichiers :

un fichier de donnes, avec une extension .MDF


un fichier de journal avec une extension .LDF

Administration SQL Server

Introduction
3
Une base de donne SQL Server est compose de plusieurs familles
d'objets:
Les tables, contenant des donnes
Les index, servant retrouver, trier, regrouper rapidement les donnes
Les dclencheurs (triggers), permettant d'excuter des oprations
particulires lors de l'insertion, la modification ou la suppression de donnes
Les types de donnes dfinis par l'utilisateur (UDDT), servant de
rfrentiel plusieurs tables
Les valeurs par dfaut (Defaults), autorisant le systme insrer des
valeurs dans les colonnes non renseignes par l'utilisateur
Les vues, ou pseudo-tables (Views), offrant une vue particulire des
donnes aux utilisateurs
Les fonctions dfinies par l'utilisateur (UDF), permettant de renvoyer soit
une valeur, soit une table
Les procdures stockes, excutes par l'utilisateur pour produire un rsultat
donn
Les diagrammes (Diagrams), qui visualisent les relations entre les tables.
Schmas, contient un objet Base de Donnes, comme une table une vue, etc.

Administration SQL Server

Cration dune Base de donne


4
create database db1 on(name=db1data, filename='C:\data\db1data.mdf',size=1, maxsize=5,
filegrowth=1)
Allouer 1 Mo au fichier de donnes

log on(name=db1log, filename='C:\backup\db1log.ldf',Size=1, maxsize=5, filegrowth=1)


Allouer 1 Mo au fichier de journal des transactions

alter database db1 modify file(name=db1data, size=2 MB)


Augmente la taille du fichier db1data 2 Mo dbcc

dbcc shrinkdatabase (db1,10)


Rduit la taille de la base db1 pour atteindre 10% despace libre aprs rduction

drop database db1


Supprime la base de donnes db1 et tous ses fichiers

alter database db1 modify name=db2


Renomme la base de donnes db1 en db2

sp_helpdb db2
Donne des informations sur la base de donnes

db2 alter database db2 set read_only


Active loption read only de la base de donnes db2

Administration SQL Server

Types de donne
5

Type de donne

Type de donnes systme

Binaire

binary[(n)] varbinary[(n)]

Caractre

char[(n)] varchar[(n)] Text

Unicode

nchar nvarchar ntext

Date et heure

datetime smalldatetime

Numrique exact

decimal [(p[, s])] decimal [(p[, s])]

Numrique en virgule flottante

float[(n)] real

Entier

bigint int smallint tinyint

Montaire

money smallmoney

Image

image

Spcial

bit timestamp unique identifier cursor


sql_variant table

Administration SQL Server

Cration des tables


6

Une table peut contenir 1024 colonnes au maximum, le nombre de


lignes tant limit par la capacit de stockage du serveur. On peut
crer jusqu 2 milliards de tables par base
Exemple :
create table Clients
( nom char(30) Not Null,
prenom char(30) Null,
ville char(25) Not Null )

Administration SQL Server

Cration des types de donnes dfinis par


lutilisateur (UDDT)
7
Les types de donnes dfinis par lutilisateur sont lis une base de
donnes
Les TDDU permettent de constituer un rfrentiel de travail pour la
cration de tables
Les TDDU peuvent avoir une valeur par dfaut et une rgle de
Validation

Exemple :
sp_addtype CodePostal, char(5), NOT NULL
cr un type appel CodePostal, de type char(5), nacceptant pas des valeurs
NULL
sp_rename ancien_nom, nouveau_non, USERDATATYPE
renomme le TDDU
sp_droptype CodePostal
supprime le TDDU

Administration SQL Server

Les valeurs par dfaut


8
Contrainte default
La contrainte default permet de dfinir la valeur par dfaut attache une colonne de la
table.
Exemple :
create table commande
( DateComm DateTime default (GETDATE()),
Montant float(10) default 0,
NumCli int )
La colonne DateComm est initialise avec la date systme (fonction getdate()), et la
colonne montant avec la valeur 0.
alter table commande
add constraint DefNumCli default 0 for NumCli
ajoute une contrainte default la colonne NumCli
alter table commande
drop constraint DefNumCli
supprime la contrainte DefNumCli

Administration SQL Server

Les valeurs par dfaut


9
create default On peut aussi crer une valeur par dfaut sans la rattacher immdiatement une colonne.
Exemple :
create default DefCodePostal as 90000
on peut associer la valeur par dfaut DefCodePostal au TDDU CodePostalType :
sp_bindefault DefCodePostal, CodePostalType
sp_bindefault DefCodePostal, Clients.Cp
associe la valeur par dfaut DefCodePostal la colonne Cp de la table Clients. Les deux points
indiquent que la table Clients appartient au propritaire de la base de donnes.
pour supprimer la valeur par dfaut :
drop default DefCodePostal
pour dlier la valeur par dfaut du TDDU CodePostalType :
sp_unbindefault CodePostalType
pour dlier la valeur par dfaut de la colonne Cp de la table Clients :
sp_unbindefault Clients.Cp
Il faut dabord dlier la valeur par dfaut, avant de pouvoir la supprimer.

Administration SQL Server

Les rgles de validation


10
Les rgles de validation assurent lintgrit de domaine. Elles peuvent jouer deux rles :

limiter les valeurs saisies par rapport une plage dtermine


imposer un format de saisie

Contrainte check
Exemple 1 :
Create table test
( Nom char(25) ,
Age int check (age > 18)
Ville char)
Exemple 2 :
alter table test
add constraint ccville
check (ville in (tanger, rabat, fes))
alter table test
drop constraint ccville
Supprime la contrainte ccville de la table test

Administration SQL Server

Les rgles de validation


11

create rule: on peut crer des rgles de validation indpendantes des


colonnes de la base de donnes. Puis
on peut les attacher aux colonnes ou aux types de donnes.
Exemple :
create rule AgeRule
as @age>=18 and @age<=65
sp_bindrule VilleRule, Client.Ville
attache la rgle VilleRule la colonne Ville de la table Client.
sp_unbindrule Client.Ville
dlie la rgle attache la colonne Ville

drop rule VilleRule


supprime la rgle de validation VilleRule

Administration SQL Server

Les cls
12
Cl primaire:
Exemple :
create table test
( Nom char(25),
Prnom chakr(25) ,
constraint Pkey primary key (nom, prenom)

Cl trangre:
Exemple :
create table test
( NumCli int,
constraint fk1 foreign key (NumCli) references test1(NumCli1) )

Cl unique: la contrainte unique assure lunicit de chacune des lignes, la diffrence avec la cl primaire
cest que la cl unique accepte en plus les valeurs NULL.
Exemple :
create table test
( matricule int,
constraint UniMat unique (matricule) )

Administration SQL Server

Modification dune table


13

Ajouter une colonne:


Exemple :
alter table Clients
(add telephone2 varchar(15) NULL)

Modifier le type de donnes:


Exemple :
alter table Clients
alter column DateDeModif smalldatetime

Supprimer une colonne:


Exemple :
alter table Clients
drop column DateDeModif

Administration SQL Server

Les index
14
Un index sert rcuprer rapidement une information.
Il faut respecter quelques rgles pour le choix des index :

Ne pas crer dindex pour des tables de moins de 200-300 lignes

Ne pas crer dindex sur une colonne qui ne possde que quelques valeurs diffrentes

Indexer les colonnes qui interviennent souvent dans les clauses WHERE et ORDER BY

Indexer les colonnes de jointure (si le SGBDR ne le fait pas automatiquement)


Il existe deux types dindex sous SQL Server : clustered (ou index ordonn) et non
clustered (ou index non ordonn). Ce dernier est lindex par dfaut.
Exemple :
create clustered index NomPrenomIdx
on clients (nom, prenom)
cr un index composite appel NomPrenomIdx, avec les colonnes nom,
prenom de la table clients

Administration SQL Server

Les vues
15
Une vue est une requte SELECT laquelle on a donn un nom, et dont on peut se servir
comme sil sagissait dune table.
Exemple :
create view vue1
as
select nom, produit, ville
from clients join commandes
on clients.numclients=commandes.numcli
Exemple : (modifier une vue)
alter view vue1
as
select nom, prenom, produit, ville
from clients join commandes
on clients.numclients=commandes.numcli
Exemple: (supprimer une vue)
drop view vue1 {restrict | cascade}
restrict : si la vue intervient dans la dfinition dune autre vue ou dans une contrainte dintgrit, la
commande sera rejete.
cascade : la vue sera supprime ainsi que toutes les vues et contraintes o la vue intervient.

Administration SQL Server

S-ar putea să vă placă și