8/9/2019 CrationBasesDonnes sql server
1/18
Cration de bases de donnesCration de bases de donnes
RPSI
Vincent Bost
8/9/2019 CrationBasesDonnes sql server
2/18
Stockage des donnesStockage des donnes
Extension(8 pages contigus
de 8 Ko)
Page (8 Ko)
Tables, index
Donnes
Base de donnesBase de donnes
Fichier de donnes.mdf ou .ndf
Fichier journal.ldf
Taille de ligne maximale = 8 060 octets
8/9/2019 CrationBasesDonnes sql server
3/18
Cration de groupes de fichiersCration de groupes de fichiers
OrderHistoryGroup
ComptoirAnglais.mdf
C:\
Ordhist1.ndf Ordhist2.ndf
D:\
ComptoirAnglais.ldf
E:\
sys...sys...
sys...sys...
sysuserssysusers
sysobjectssysobjects
......
ordersorders
customerscustomers
productsproducts
ordhistyear2ordhistyear2
ordhistyear1ordhistyear1
8/9/2019 CrationBasesDonnes sql server
4/18
Fonctionnement Journal TransactionsFonctionnement Journal TransactionsLa modification des donnes
est envoye par l'application11
Disque
La modification est
enregistre dans le journal
des transactions sur le disque
33
Les pages de donnes sont
recherches ou crites dans
la mmoire cache tampon, puis
sont modifies
22
Mmoire cachetampon
Disque
Le point de contrle crit
les transactions valides
dans la base de donnes
44
8/9/2019 CrationBasesDonnes sql server
5/18
Cration de la base de donnesCration de la base de donnesCREATE DATABASE [ComptoirAnglais]
ON (NAME = 'ComptoirAnglais_Data',
FIL
EN
AME = 'e:\data\ComptoirAnglais_Data.MDF' ,SIZE = 10,
FILEGROWTH = 10%)
LOG ON (NAME ='ComptoirAnglais_Log',
FILENAME = 'e:\data\ComptoirAnglais_Log.LDF' ,
SIZE = 2,
FILEGROWTH = 10%)
COLLATE French_CI_AS
8/9/2019 CrationBasesDonnes sql server
6/18
Suppression de la base de donnesSuppression de la base de donnes
Mthodes de suppression d'une basede donnes
SQL Server Enterprise Manager Instruction DROP DATABASE
Restrictions la suppression d'unebase de donnes
lors de sa restauration
lorsqu'un utilisateur y est connect
lorsqu'elle publie l'une de ses tables dansle cadre de la rplication SQL Server
8/9/2019 CrationBasesDonnes sql server
7/18
Options de base de donnesOptions de base de donnes
Options frquemment utilises dbo use only : propritaire et admin
read only : seulement en lecture
single user : un seul utilisateur
Autoshrink : rduction automatique
Modles de rcupration Simple (A partir de la sauvegarde)
Complet (A partir de la dfaillance)
8/9/2019 CrationBasesDonnes sql server
8/18
Les types de donnesLes types de donnes Numriques exacts
Valeurs entires
BigInt 8 Int 4
SmallInt 2
TinyInt 1
Valeurs dcimales
Decimal (p,s) 2-17 Numeric (p,s) 2-17
Montaires Money 8
SmallMoney 4
Numriques
approchs
Float sur 8 octetsdouble prcision
n 1 - 53 bits
Real sur 4 octets
simple prcision
n 1- 24 bits
8/9/2019 CrationBasesDonnes sql server
9/18
Les types de donnesLes types de donnes Binaire 0 8000
Binary (n)
VarBinary (n) Caractres
Char (n)
VarChar (n)
Caractres Unicode nChar (n)
nVarChar (n)
Date et Heure
DateTime 8
SmallDateTime 4
Spcial
Boolen Bit
Valeurs Uniques
TimeStamp 8
UniqueIdentifier
8/9/2019 CrationBasesDonnes sql server
10/18
Les types de donnesLes types de donnes Texte et image
text
image Texte Unicode
nText
Correspondent au
type BlobBynary LargeObjects
De 0 2 Go Seul un pointeur est
maintenu jour quipointe vers le fichiercontenant lesdonnes
Nanmoins prises en
compte pour lesoprations desauvegarde etrestauration
8/9/2019 CrationBasesDonnes sql server
11/18
Types de donnes utilisateurTypes de donnes utilisateur
Sappuient sur les types systmes
(Drivation)
Permettent dapporter une plus
grande cohrence lorsque plusieurs
lments se rfrent un mme type
Dfinis pour une base spcifique
8/9/2019 CrationBasesDonnes sql server
12/18
Types de donnes utilisateurTypes de donnes utilisateur
Cration par le biais de la procdure
stocke sp_addtype
Exec sp_addtype CodePostal, char(5)
Suppression par le biais de la
procdure stocke sp_droptype
Exec sp_droptype CodePostal
8/9/2019 CrationBasesDonnes sql server
13/18
Cration dune tableCration dune table
CREATE TABLE [dbo].[Client]
(
[IdClient] [int] NOT NULL ,
[NomClient] [varchar] (100) NULL ,
[CodePostalClient] [CodePostal] NULL
)DROP TABLE [dbo].[Client]
8/9/2019 CrationBasesDonnes sql server
14/18
Ajout et suppression de colonnesAjout et suppression de colonnes
ALTER TABLE [dbo].[Client]
ADD [VilleClient] [varchar] (100) NULL
ALTER TABLE Client
DROP COLUMN VilleClient
8/9/2019 CrationBasesDonnes sql server
15/18
Gnration de valeurs uniquesG
nration de valeurs uniques Champ compteur : Proprit de colonne
IDENTITY. Souvent utilis avec cl
Dfinir la valeur de dpart Dfinir la valeur de lincrment
Il sagit ici dune valeur unique pour latable
Une seule colonne identity par table Ne peut tre nulle
A utiliser avec des entiers
8/9/2019 CrationBasesDonnes sql server
16/18
Gnration de valeurs uniquesG
nration de valeurs uniques
Champ avec valeur unique au niveau du
systme
Utiliser un type de donnesUniqueIdentifier
Chane binaire de 16 bits de type GUID
(Global Unique Identifier)
Gnrer par la fonction Newid() associ au
mot cl Default
8/9/2019 CrationBasesDonnes sql server
17/18
Gnration de valeurs uniquesG
nration de valeurs uniques
CREATE TABLE [dbo].[TestIdentity]
(IdClient int IDENTITY (1, 5) NOT NULL,
NomClient varchar(100) )
CREATE TABLE TestUniqueIdentifier
(IdUnique uniqueidentifierNOT NULLDEFAULT NEWID() ,
NomClient varchar(100) )
8/9/2019 CrationBasesDonnes sql server
18/18
Atelier : Cration dune baseAtelier : Cration dune base
Cration dune base de donnes
Cration de types de donnes
Cration de tables
Ajout et suppression de colonnes
Gnration de scripts