1 introduction : SQL server



Documents pareils
Bases de Données relationnelles et leurs systèmes de Gestion

Le Langage De Description De Données(LDD)

1/ Présentation de SQL Server :

Création et Gestion des tables

Historisation des données

SQL Server administration SERVEUR DE BASES DE DONNEES OLIVIER D.

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Cours de SQL SERVER 2005 SQL SERVER 2005

Table des matières 1 DISASTER RECOVERY SAUVEGARDER RESTAURER BASE DE DONNÉS "SUSPECT"... 28

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Olivier Mondet

Langage SQL : créer et interroger une base

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

TP Contraintes - Triggers

Master Exploration Informatique des données DataWareHouse

Cours Bases de données 2ème année IUT

Le langage SQL (première partie) c Olivier Caron

Auto-évaluation Oracle: cours de base

Support de Cours REQUÊTES TRANSACT-SQL DANS MICROSOFT SQL SERVER Stéphane N GUESSAN Groupe Pigier Abidjan Version 1.

Cours Bases de données 2ème année IUT

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Modélisation et Gestion des bases de données avec mysql workbench

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

SQL Server 2000, Analysis Services et DTS

Formateur : Caroline CHAILLET Cours 4740A - Implémentation d'une base de données Microsoft SQL Server /134

PHP 5. La base de données MySql. A. Belaïd 1

Gestion de base de données

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Encryptions, compression et partitionnement des données

SQL Server Cyril Gruau. 11 février 2003

Devoir Data WareHouse

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Pour les débutants. langage de définition des données

BD51 BUSINESS INTELLIGENCE & DATA WAREHOUSE

Introduction au Système de Gestion de Base de Données et aux Base de Données

CREATION WEB DYNAMIQUE

Gestion des utilisateurs et de leurs droits

Intégrité des données

Administration des bases de données. Jean-Yves Antoine

MySQL / SQL EXEMPLES

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

SQL Historique

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

Data Tier Application avec SQL Server 2008 R2

Compétences Business Objects

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

TP3 : Creation de tables 1 seance

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Bases de données et sites WEB

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Notes de cours : bases de données distribuées et repliquées

Intégrité sémantique dans les bases de données relationnelles

Bases de données relationnelles

Les déclencheurs. Version 1.0. Grégory CASANOVA

Systèmes de Gestion de Bases de Données

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Introduction aux Bases de Données 2004/2005

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Description de SQL SERVER. historique

Exercices sur SQL server 2000

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Installation d'un serveur FTP géré par une base de données MySQL

FileMaker 13. Guide de référence SQL

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

TP11 - Administration/Tuning

2 Serveurs OLAP et introduction au Data Mining

Installation des moteurs SQL Pour Micro-SESAME

I. MySQL : Serveur et SGBD

Java DataBaseConnectivity

Configurer la supervision pour une base MS SQL Server Viadéis Services

WHATSUP GOLD GESTION DE LA BASE DE

Les BASES de DONNEES dans WampServer

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Ora2Pg Performances. (C) 2013 Gilles Darold

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Partie II Cours 3 (suite) : Sécurité de bases de données

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

A QUOI SERVENT LES BASES DE DONNÉES?

TP Administration Oracle

Introduction à JDBC. Accès aux bases de données en Java

Réplication logique avec PostgreSQL 9.4

LE LANGAGE SQL2 1. INTRODUCTION

1 Position du problème

TP Bases de données réparties

Gestion des transactions et accès concurrents dans les bases de données relationnelles

La base de données dans ArtemiS SUITE

1. Base de données SQLite

Transcription:

Lycée lissan eddine ibn_elkhatib laayoune SGBDR 1 Pr H.LAARAJ 2015/2016 2 1 introduction : SQL server 1

3 SQL server SQL-Server est un SGBDR Client-Serveur qui utilise TRANSACT-SQL dans ses transactions. Client Requête (Transact-SQL) Serveur Résultats (seulement les donnes) Base de Données Application CLIENTE Application SERVEUR : SQL-SERVER (SGBDR) 4 Objets de SQL Server Les bases de données contiennent un certain nombre d objets logiques. Il est possible de regrouper ces objets en trois grandes catégories : Gestion et stockage des données : tables, type de données, contraintes d intégrité, valeur par défaut, règles et index. Accès aux données : vues et procédures stockées. Gestion de l intégrité complexe : déclencheur (Trigger) 2

5 2 Création une base de données 6 la base de données La création d une base de données est une étape ponctuelle, réalisée par un administrateur SQL Server. Avant de tenter de créer une base de données, il est important de définir un certain nombre d éléments de façon précise : le nom de la base de données qui doit être unique sur le serveur SQL, la taille de la base de données, les fichiers utilisés pour le stockage des données. Une base peut être créée de deux façons différentes : par l intermédiaire de l instruction Transact SQL CREATE DATABASE ; par l intermédiaire de SQL Server Management Studio. 3

7 CREATE DATABASE nom_bd ON ( NAME = nom logique de fichier, FILENAME = chemin de fichier.mdf, SIZE = taille en MB, MAXSIZE = taille en MB, FILEGROWTH = pas d increment en MB ou % ) LOG ON ( NAME = nom logique de fichier log, FILENAME = chemin de fichier log.ldf, SIZE = taille en MB, MAXSIZE = taille en MB, FILEGROWTH = pas d increment en MB ou % ) 8 Exemple: Créer une base de données nommée "BD-inscription". Cette base aura les caractéristiques suivantes: Un fichier de données: taille initiale: 3 Mo croissance du fichier: 20 % taille maximale: 10 Mo Un fichier "Journal": taille initiale: 1 Mo croissance du fichier: 10% taille maximale: illimité 4

9 Solution CREATE DATABASE BD-inscription ON ( NAME = 'inscription_data', FILENAME = 'C:\inscription_Data.mdf', SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 20%) LOG ON ( NAME = 'inscription_log', FILENAME = 'C:\inscription_log.ldf', SIZE = 1MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10%); 10 3 les tables, view 5

11 3.1 création des tables: CREATE TABLE nom_table( champ type,.) créer les tables suivantes : Etudiant( code, nom, prenom, date_naiss, note, numcla) Classe (numcla, libelle ) Solution : CREATE TABLE Etudiant( code int, nom nvarchar(40), prenom nvarchar(40), date_naiss date, note decimal(4,2), numcla int ) CREATE TABLE Classe (numcla int, libelle nvarchar(40) ) 12 3.2 les contraintes d intégrités Contraintes de clé primaire : ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte PRIMARY KEY(nom_champ); Le champ code de la table Etudiant ALTER TABLE Etudiant ADD CONSTRAINT pk_code PRIMARY KEY(code); 6

13 Contraintes de clés étrangeres : ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte FOREIGN KEY(nom_champ) REFERENCES nom_table(champ); Le champ numcla de la table etudiant ALTER TABLE Etudiant ADD CONSTRAINT fk_numclasse FOREIGN KEY(numCla) REFERENCES classe(numcla); 14 Contraintes de validation Les contraintes de validations (CHECK) vont permettre de définir un certain nombre de règles simples de gestion des données. ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte CHECK (règles); Définir la règle suivante : La note de l étudiant doit être compris entre 0 et 20 ALTER TABLE etudiant ADD CONSTRAINT contrainte_note CHECK (note between 0 and 20); 7

15 Les index Les index vont permettre d accéder plus rapidement aux différentes informations. CREATE INDEX nom_index ON nom_table(nom_champ); Définir un index pour le champ numcla de la table Etudiant CREATE INDEX ix_numcla ON Etudiant(numCla); 16 Exercice pratique : Dans MS sql server : Créer la base de données bd1 Créer les 3 tables suivantes avec toutes les contraintes possibles etudiant (NumEtd INT, nom nvarchar(23),prenom nvarchar(23),adresse nvarchar(123),ville nvarchar(23)) matiere (NumMat INT, libelle nvarchar(23)) notation (NumEtd INT,NumMat INT,note decimal(4,2),dateevaluer datetime) Insérer les enregistrements dans ses 3 tables 8

17 Solution create database bd_scolarite3 create table etudiant (NumEtd INT primary key, nom nvarchar(23),prenom nvarchar(23),adresse nvarchar(123),ville nvarchar(23)) create table matiere (NumMat INT primary key, libelle nvarchar(23)) create table notation (NumEtd INT,NumMat INT,note decimal(2,2),dateevaluer datetime, Constraint pk_numetd_nummat primary key(numetd,nummat), Constraint fk_numetd foreign key(numetd) references etudiant( NumEtd), Constraint fk_nummat foreign key(nummat) references matiere( NumMat)) 18 Types de données définis par l utilisateur Il est possible de définir ses propres types de données, soit par l intermédiaire de Management Studio, soit par la commande CREATE TYPE. CREATE TYPE nom_type FROM type_base { null / not null} Définir un "type de données utilisateur" nommé texte de type nvarchar(20) non null et attribuer ce type aux champs nom de la table etudiant? CREATE TYPE texte FROM nvarchar(20) not null ALTER TABLE Etudiant ALTER COLUMN nom texte 9

19 Les règles une règle est un objet qui permet de spécifier les valeurs acceptables qui peuvent être insérées dans une colonne. CREATE RULE nom_regle AS condition_expression Rq: la procédure sp_binderule (nom_regle, table.champ )permet d attribuer la règle à un champ donné en argument Créer la règle suivante «la note de l étudiant doit être compris entre 0 et 20» Puis, attribuer la règle au champ note de la table notation CREATE RULE regle_note AS @note between 0 and 20 exec sp_bindrule regle_note, notation.note Remarque : On peut utiliser d autre méthode pour appliquer cette règle en utilisant la contrainte check 20 La valeur par défaut La valeur par défaut permet de préciser la valeur qui va être positionnée dans la colonne si aucune information n est précisée lors de l insertion de la ligne. CREATE DEFAULT nom_val_defaut AS valeur Rq: la procédure sp_bindefault (nom_val_defaut, table.champ )permet d attribuer la valeur par défaut à un champ donné en argument Créer la valeur par défaut suivante: valdefautnom (Valeur = anonyme ) et attribuer cette valeur par défaut au champ nom dans la table Etudiant. CREATE DEFAULT valdefautnom AS anonyme exec sp_bindefault valdefautnom,'etudiant.nom Remarque: la 2eme méthode on utilise la contrainte default: ALTER TABLE Etudiant ADD CONSTRAINT valdefautnom DEFAULT anonyme FOR nom 10

21 Les schémas Un schéma est ensemble logique d objets à l intérieur d une base de données à la manière de bibliothèque package ou des espaces de noms. Par exemple : dbo.etudiant signifier que l objet table etudiant est liée au schéma dbo. CREATE SCHEMA mon_schema Créer le schéma ecole Puis, Ajouter à ce schéma la table professeur ( code, nom ) CREATE SCHEMA ecole CREATE TABLE ecole.professeur( code int, nom nvarchar(40)) 22 séquence Une séquence est un objet lié au schéma défini par l'utilisateur qui génère une séquence de valeurs numériques (exemple : 12,14,16,18,20, ) Creation d une sequence CREATE SEQUENCE schema_name. sequence_name AS integer_type START WITH <constant> INCREMENT BY <constant> MINVALUE <constant> NO MINVALUE MAXVALUE <constant> NO MAXVALUE CYCLE NO CYCLE Utilisation d une sequence l instruction: NEXT VALUE FOR schema_name.sequence_name permet d obtenir le numéro séquentiel suivant. Remarque : On peut attribuer une séquence à un champ en utilisant la contrainte default: ALTER TABLE nom_table ADD CONSTRAINT nom_defaut DEFAULT valeur FOR nom_champ 11

23 Exemple: Créer la séquence seq qui permet de générer une séquence de valeurs numériques (10,12,14,16, ). Puis, attribuer la séquence seq au champ code de la table professeur Solution : 1. CREATE SEQUENCE ecole.seq AS int START WITH 10 INCREMENT BY 2 2. ALTER TABLE ecole.professeur ADD CONSTRAINT def DEFAULT NEXT VALUE FOR ecole.seq FOR code 24 3.3 view Une vue est une table virtuelle, dans laquelle il est possible de rassembler des informations provenant de plusieurs tables. les données ne sont pas stockées dans une table de la base de données. CREATE VIEW Nom_de_la_Vue (colonnes) AS SELECT... Exemple: 1. Créer la view v1 qui permet de visualiser les noms et prénoms des étudiants ainsi que ses notes? 2. Afficher les informations de la view v1? Solution : 1. CREATE VIEW v1 AS SELECT nom,prenom,note FROM etudiant e,notation n WHERE e.numetd=n.numetd 2. SELECT * FROM v1 12