CréationBasesDonnées sql server

download CréationBasesDonnées sql server

of 18

Transcript of CréationBasesDonnées sql server

  • 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