Skip to content
DylanBerney edited this page Mar 14, 2024 · 1 revision

Laboratoire 2 :

Questionnaire

1. Combien de fichiers sont nécessaires pour la création de la base de données ?

Réponse : B : 2 fichiers

2. Quel est le rôle de la base Model ?

Réponse : Il sert de modèle pour la création de base de donnée.

3. Si des modifications sont apportées à la base Model, qui va en bénéficier ?

Réponse : C : Les bases qui sont créées par la suite

4. Quels sont les groupes de fichiers créés par défaut sur une base de données ?

Réponse : C : Primary

5. Quel est le nom du groupe de fichiers utilisé par les tables systèmes ?

Réponse : B : Primary

6. Est-il possible de définir une table sur un fichier précis ?

Réponse : B : Non

7. Dans quel sens est-il possible de partitionner une table ?

Réponse :  B : Horizontalement

8. Combien de fichiers, contient, au minimum un groupe de fichiers ?

Réponse : A : 0

9. Est-il possible de déplacer un fichier d'un groupe de fichiers vers un autre ?

Réponse : C : Non

10. Lorsque l'option AUTO_SHRINK est activée, à partir de quelle quantité d'espace libre le fichier est-il réduit de façon automatique ?

Réponse : C : 25 % d'espace libre

11. Le fichier principal de données ppal.mdf a été créé en même temps que la base avec une taille initiale de 10 Mo. Ce fichier est paramétré en croissance automatique. Des tables utilisateurs ont été définies sur le groupe de fichiers PRIMARY, tant et si bien que le fichier a atteint une taille de 20 Mo. Les tables utilisateurs sont supprimées. Le fichier ne contient plus que 4 Mo d'information. Le paramètre AUTO_SHRINK est activé sur la base de données. Quelle est la taille du fichier ppal.mdf après que le processus de réduction automatique a été exécuté ?

Réponse : B : 10 Mo

12. Sur une table de base de données combien d'index non-clustered est-il possible de définir ?

Réponse : D : 249 sur SQL Server 2005 qu'il y ait ou pas de clé primaire

13. Pour être en mesure de définir un index sur une colonne de type xml, la table doit-elle obligatoirement disposer d'une contrainte de clé primaire ?

Réponse :  A : Oui

14. La compression des données est :

Réponse : C : Configurable au niveau de chaque table

SQL studio

Créer une base de donne dans SQL studio

En interface graphique

Creation base de donnée

Laisser les config par défaut : Creation base de donnée

Avec un script :

Script de création de base de donnée :

# Give permissions to user to the folder /tsql
chmod 777 /tsql

#Create database
USE MASTER
GO
CREATE DATABASE TSQL
ON PRIMARY
(	NAME = TSQL_DATA,
	FILENAME = '/tsql/TSQL.mdf',
	SIZE = 10MB,
	MAXSIZE = 40MB,
	FILEGROWTH = 10 %)
LOG ON
(	NAME = TSQL_log,
	FILENAME = '/tsql/TSQL_log.ldf',
	SIZE = 2MB,
	MAXSIZE = 10MB,
	FILEGROWTH = 2MB)
Go

Définir un groupe de fichier pour un base de donnée :

En interface graphique

Definir un groupe de fichier

Definir un groupe de fichier

Avec un script :

ALTER DATABASE TSQL
ADD FILEGROUP TPTSQL;
GO

Ajout d'un fichier dans une base de donnée :

En interface graphique

Ajout un fichier1

Ajout un fichier2

Avec un script :

ALTER DATABASE TSQL
ADD FILE
(
	NAME = TSQL_2,
	FILENAME = '/tsql/TSQL_2.mdf',
	SIZE = 10MB,
    MAXSIZE = 20MB,
    FILEGROWTH = 2MB
)
TO FILEGROUP TPTSQL;
GO

Ajout d'un fichier log

En interface graphique :

Ajout un fichier2

Avec un script :

ALTER DATABASE TSQL
ADD FILE
(
	NAME = TSQL_log2,
	FILENAME = '/tsql/TSQL_log2.mdf',
	SIZE = 10MB,
    MAXSIZE = 20MB,
    FILEGROWTH = 2MB
)
GO

Modifier un fichier de données

En interface graphique :

Ajout un fichier2

Avec un script :

ALTER DATABASE TSQL 
MODIFY FILE 
( 
	NAME = TSQL_2,
	FILENAME = '/var/opt/mssql/data/TSQL_2.mdf',
	SIZE = 50MB 
) 
GO 
ALTER DATABASE TSQL 
MODIFY FILE 
( 
	NAME = TSQL_2, MAXSIZE = UNLIMITED 
) 
GO

Réduire la taille d'un fichier de données

En interface graphique :

Ajout un fichier2

Avec un script :

USE TSQL 
DBCC SHRINKFILE 
( 
	TSQL_2, 2 
); 
GO

Réduire la taille d'une base de données

En interface graphique :

Ajout un fichier2

Avec un script :

use master 
GO 
use TSQL 
GO 
DBCC SHRINKDATABASE 
( 
	TSQL, 10 
); 
GO

Créer une table sur un groupe de fichiers

Avec un script :

use master 
GO 
use ssms 
GO 
CREATE TABLE CLIENTS ( 
	numero INT CONSTRAINT pk_clients PRIMARY KEY, 
	nom NVARCHAR(50) NOT NULL, 
	prenom NVARCHAR(50) NOT NULL, 
	adresse NVARCHAR(100), 
	codepostal CHAR(5), 
	ville NVARCHAR(50) 
	) ON TPSSMS

Ajout un fichier2

Créer une table partitionnée

USE smss 
GO 
ALTER DATABASE smss
ADD FILEGROUP Ile_De_France;
ALTER DATABASE smss
ADD FILEGROUP Centre_Nord; 
ALTER DATABASE smss 
ADD FILEGROUP Nord_Est; 
ALTER DATABASE smss 
ADD FILEGROUP Ouest; 
ALTER DATABASE smss 
ADD FILEGROUP Sud_Ouest; 
ALTER DATABASE smss 
ADD FILEGROUP Sud_Est; 
ALTER DATABASE smss 
ADD FILEGROUP Sud; 
GO 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'IDF_dat', 
	FILENAME ='/var/opt/mssql/data/IDF_dat.ndf',
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Ile_De_France; 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'CN_dat', 
	FILENAME ='/var/opt/mssql/data/CN_dat.ndf', 
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Centre_Nord; 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'NE_dat', 
	FILENAME ='/var/opt/mssql/data/NE_dat.ndf', 
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Nord_Est; 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'O_dat', 
	FILENAME ='/var/opt/mssql/data/O_dat.ndf', 
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Ouest; 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'SO_dat', 
	FILENAME ='/var/opt/mssql/data/SO_dat.ndf', 
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Sud_Ouest; 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'SE_dat', 
	FILENAME ='/var/opt/mssql/data/SE_dat.ndf', 
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Sud_Est; 
ALTER DATABASE smss 
ADD FILE 
( NAME = 'S_dat', 
	FILENAME ='/var/opt/mssql/data/S_dat.ndf', 
	SIZE = 5MB, 
	MAXSIZE=20MB, 
	FILEGROWTH=1MB) 
TO FILEGROUP Sud; 
GO 
CREATE PARTITION FUNCTION regionpartition (int) 
AS RANGE LEFT FOR VALUES (1,2,3,4,5,6); 
GO 
CREATE PARTITION SCHEME regionscheme 
AS PARTITION regionpartition 
TO (Ile_De_France, Centre_Nord, Nord_Est, Ouest, Sud_Ouest, Sud_Est, Sud); 
GO 
CREATE TABLE CLIENTS ( 
	numero INT, 
	nom NVARCHAR(50) NOT NULL, 
	prenom NVARCHAR(50) NOT NULL, 
	adresse NVARCHAR(100), 
	codepostal CHAR(5), 
	ville NVARCHAR(50), 
	region int, 
	CONSTRAINT pl_clients PRIMARY KEY (numero, region) 
	) ON regionscheme(region);

Compresser les données

USE TSQL; 
GO 
CREATE TABLE ARTICLES ( 
	refart char(10) constraint pk_articles primary key, 
	designation nvarchar(100), 
	prixht money 
	);

Compression des donnée sur la table

USE TSQL; 
GO 
ALTER TABLE ARTICLES REBUILD PARTITION = ALL 
WITH (DATA_COMPRESSION = ROW); 
GO

Mettre en place des index

USE TSQL; 
GO
CREATE TABLE produits ( 
	id int identity(1,1) constraint pk_produits primary key, 
	libelle nvarchar(200), 
	description xml, 
	categorie varchar(10), 
	marque varchar(50) 
	);

Définissez un index afin d'accélérer le traitement de la requête suivante:

select distinct marque from produits ;

Création d'index

CREATE INDEX index1 ON produits(marque);

Indexer une colonne de type xml

use TSQL 
IF EXISTS (SELECT * FROM sys.indexes 
			WHERE name = N'PXML_Produuits_Description') 
	DROP INDEX PXML_Produuits_Description 
		ON Production.ProductModel; 
GO 
CREATE PRIMARY XML INDEX PXML_Produuits_Description 
	ON Produits (description); 
GO

Définir un index couvrant

SELECT libelle, marque
FROM produits
WHERE libelle like 'cri tere%';

Clone this wiki locally