32
LENGUAJE DE DEFINICIÓN DE DATOS ADMINISTRACIÓN DE BASE DE DATOS

Lenguaje de Definición de Datos-creacionBD

Embed Size (px)

DESCRIPTION

dase de datos

Citation preview

Diapositiva 1

LENGUAJE DE DEFINICIN DE DATOS

ADMINISTRACIN DE BASE DE DATOS

CREACION DE BASES DE DATOS2Para crear una base de datos, determine el nombre de la base de datos, el propietario (el usuario que crea la base de datos), su tamao y los archivos y grupos de archivos utilizados para almacenarla.

El usuario que crea la base de datos se convierte en su propietario.

En un servidor pueden crearse hasta 32,767 bases de datos.

Pginas y ExtensionesLas pginas son la unidad ms pequea de almacenamiento en un archivo de datos.Cada pgina puede tener entre 8kb a 32 kb de tamao.8192 kb

8096 kb de datos96 kb de cabeceraEvitar desorden en elalmacenamiento de los datos.

Tipos de PginasDATOS: Los datos que se guardan en las tablas.MAPA DE ASIGNACIN GLOBAL(GAM): Para el control de las extensiones ( 8 pginas contiguas), hace un seguimiento de las pginas que se han usado y las que faltan asignar.INDICE: Contienen la lista de datos de una columna o conjunto de columnas asociadas a un identificador, lo cual permite acceder ms rpido a los datos.MAPA DE ASIGNACIN DE NDICES(IAM): Permite controlar para qu se usan las extensiones; es decir; a que tablas o ndices fueron asignadas.ESPACIO DISPOIBLE EN PGINAS: Seguimiento de las pginas con espacio disponible.TEXTO/IMAGEN: Los tipos char(max), varchar(max) , varbinary los cuales estn diseados para guardar objetos que pueden llegar a tener 2gb de tamao, tienen sus pginas independiente de las pginas de datos para un acceso ms rpido.

Extensiones8 pginas de datos contiguos para evitar la fragmentacin.Uniformes: Las 8 pginas son propiedad de un solo objeto.Mixtas: Las 8 pginas guardan diferentes tipos de objetos, de menor tamao.

Tabla1Tabla1Tabla1Tabla1Tabla1Tabla1Tabla1Tabla1

Tabla2Tabla2Tabla2Tabla3Tabla3Indice1Indice1indice1

Las 8 pginas a un solo objetoTabla1Las 8 pginas asignadas a 3 objetosTabla2, tabla3, indice1.

Una BD consta de un espacio definido por el usuario para el almacenamiento de los objetos de usuario como tablas, vistas, procedimientos almacenados, diagramas, usuario, Funciones ,Tipos de datos del sistema, reglas y restricciones, ndices. Este espacio se asigna en uno o varios archivos del sistema operativo.Las BDs estn divididas en pginas de 8Kb, numeradas de manera contigua 0 a XPara hacer referencia a cualquier pgina hay que especificar un ID de BD, ID de archivo y el nmero de pgina.Para agregar espacio a una BD con el alter database el espacio se aade al final del archivo a X+1, al comprimir espacio las pgina se eliminan de atrs hacia adelante, para mantener la pginas siempre contiguas.LA BD Master contiene 49 tablas ,18 tablas que se encuentran las BDs de usuario31 tablas dentro de master10 tablas no existen fsicamente12 tablas informacin de servidores remotos23 vistas (20 en las BDs de usuario y 3 adicionales)

-- ver las tablas y vistas del masterselect type, name from sysobjectswhere type in ('s','v') And name not in (select name from model.dbo.sysobjects)

En la BD Master existe la tabla sysdatabases donde se guardan las BDs creadasselect * from sysdatabases

Administrar la asignacin de extensionesMapa de asignacin global (GAM, Global Allocation Map)

Las pginas GAM registran las extensiones que han sido asignadas.

Cada GAM cubre 64.000 extensiones o casi 4 GB de datos.

La pgina GAM tiene un bit por cada extensin del intervalo que cubre.

Si el bit es 1, la extensin est disponible; si el bit es 0, la extensin est asignada.

Mapa de asignacin global compartido (SGAM, Shared Global Allocation Map)

Las pginas SGAM registran las extensiones que actualmente se estn utilizando como extensiones mixtas y adems tienen al menos una pgina sin utilizar.

Cada SGAM cubre 64.000 extensiones o casi 4 GB de datos.

La pgina SGAM tiene un bit por cada extensin del intervalo que cubre. Si el bit es 1, la extensin se est utilizando como extensin mixta y tiene una pgina disponible. Si el bit es 0, la extensin no se utiliza como extensin mixta o se trata de una extensin mixta cuyas pginas estn todas en uso.

Administrar la asignacin de extensionesUso actual de la extensinBit en GAMBit en SGAMDisponible, no se utiliza10Extensin uniforme o extensin mixta completa00Extensin mixta con pginas disponibles01

Para asignar una extensin uniforme, el Database Engine (Motor de base de datos) busca un bit 1 en la pgina GAM y lo establece en 0.

Para buscar una extensin mixta con pginas disponibles, el Database Engine (Motor de base de datos) busca un bit 1 en la pgina SGAM.

Para asignar una extensin mixta, el Database Engine (Motor de base de datos) busca 1 bit en la pgina GAM, lo establece en 0 y, a continuacin, establece tambin en 1 el bit correspondiente de la pgina SGAM.

Para cancelar la asignacin de una extensin, el Database Engine (Motor de base de datos) se asegura de que el bit de la pgina GAM est establecido en 1 y el bit de la pgina SGAM en 0.

Seguimiento al espacio libre

Las pginas Espacio disponible en pginas (PFS, Page Free Space) registran el estado de asignacin de cada pgina,

La PFS tiene un byte por pgina, que registra si la pgina est asignada y, en tal caso, si est vaca, llena entre el 1 y el 50%, entre el 51 y el 80%, entre el 81 y el 95% o entre el 96 y el 100%.

La pgina PFS es la primera pgina que sigue a la pgina de encabezado de archivo en un archivo de datos (con el nmero de pgina 1).

A continuacin aparece una pgina GAM (con el nmero de pgina 2), seguida de una pgina SGAM (pgina 3).

Hay una pgina PFS de aproximadamente 8.000 pginas de tamao despus de la primera pgina PFS.

Hay otras 64.000 extensiones de la pgina GAM despus de la primera pgina GAM en la pgina 2, y otras 64.000 extensiones de la pgina SGAM despus de la primera pgina SGAM en la pgina 3.

Administrar el espacio utilizado por los objetos

Una pgina IAM cubre un intervalo de 4 GB en un archivo.

Si la unidad de asignacin contiene extensiones de ms de un archivo o ms de un intervalo de 4 GB de un archivo, se vincularn varias pginas IAM en una cadena IAM.

Por lo tanto, cada unidad de asignacin tiene como mnimo una pgina IAM para cada archivo en el que tiene extensiones. Vinculado Objetos con las extensiones

Una pgina IAM tiene un encabezado que indica la extensin inicial del intervalo de extensiones asignado por la pgina IAM.

La pgina IAM tambin tiene un mapa de bits grande en el que cada bit representa una extensin. El primer bit del mapa representa la primera extensin del intervalo, el segundo bit representa la segunda extensin, etc. Si un bit es 0, la extensin que representa no est asignada a la unidad de asignacin propietaria de IAM. Si el bit es 1, la extensin que representa est asignada a la unidad de asignacin propietaria de la pgina IAM.

Para los ndices, el punto de insercin de una nueva fila lo establece la clave de ndice. En este caso, el proceso de bsqueda descrito anteriormente no se produce.

CREACION DE UNA BASE DE DATOS13Puede Utilizarse uno de tres mtodos: El Asistente para creacin de Bases de Datos. El Administrador Corporativo. Transact-SQL (CREATE DATABASE.)

Cuando crea una base de datos en realidad crea una copia de la BD Model.

INSTRUCCIN CREATE DATABASE14CREATE DATABASE nombre de BD[ ON {[ PRIMARY ]( NAME = nombre lgico,FILENAME = 'nombre fsico ' [,SIZE=tamao ][,MAXSIZE=tamao_max | UNLIMITED][,FILEGROWTH = incremento] ) }[ ,...n ]][LOG ON{(NAME = nombre lgico, FILENAME = 'nombre fsico ' [,SIZE=tamao ][,MAXSIZE=tamao_max | UNLIMITED][,FILEGROWTH = incremento] ) [ ,...n ]]

CREAR BD CON TODAS LAS OPCIONES POR DEFECTO15

CREATE DATABASE UNPRGUSE UNPRG

CREAR BD CON UN ARCHIVO DE DATOS EN EL GRUPO PRIMARIO16

USE master GO CREATE DATABASE Productos ON ( NAME = Prod_dat, FILENAME = 'C:\INGENIERIA\Prod.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 ) GO

CREAR BASE DE DATOS CON UN FICHERO DE DATOS Y UNO DE REGISTRO17-- Archivo de Datos 20MB y Archivo Log 5 MBUSE master GO CREATE DATABASE Comercio ON PRIMARY( NAME = Comerciodat,FILENAME = 'C:\INGENIERIA\Comerciodat.mdf',SIZE = 20MB,MAXSIZE = 100MB,FILEGROWTH = 10MB )

CREAR BASE DE DATOS CON UN FICHERO DE DATOS Y UNO DE REGISTRO18-- Archivo de TransaccionesLOG ON (NAME =Comerciolog,FILENAME = 'C:\INGENIERIA\Comerciolog.ldf', SIZE = 5MB, MAXSIZE = 15MB,FILEGROWTH = 1MB )GO

CREAR BD CON VARIOS ARCHIVOS DE DATOS Y DE REGISTROS19 USE master GO CREATE DATABASE Biblioteca ON PRIMARY (NAME = Biblio, FILENAME = 'C:\INGENIERIA\Bibliodat.mdf', SIZE = 5, MAXSIZE = 20, FILEGROWTH = 1),

CREAR BD CON VARIOS ARCHIVOS DE DATOS Y DE REGISTROS20 (NAME = Biblio2, FILENAME = 'C:\INGENIERIA\Biblio2dat.ndf', SIZE = 5, MAXSIZE = 20, FILEGROWTH = 5), ( NAME = Biblio3, FILENAME = 'C:\INGENIERIA\Biblio3dat.ndf', SIZE = 10MB, MAXSIZE = 20, FILEGROWTH = 2)

CREAR BD CON VARIOS ARCHIVOS DE DATOS Y DE REGISTROS21

LOG ON ( NAME = Bibliolog1, FILENAME = 'C:\INGENIERIA\Bibliolog1.ldf', SIZE = 2, MAXSIZE = 20, FILEGROWTH = 1), ( NAME = Bibliolog2, FILENAME = 'C:\INGENIERIA\bibliolog2.ldf', SIZE = 2, MAXSIZE = 10, FILEGROWTH = 2) GO

CREAR BD SIN ESPECIFICAR TAMAO22

USE master GO CREATE DATABASE Productos2 ON ( NAME = Prod2, FILENAME = 'c:\INGENIERIA\Prod2dat.mdf ' ) GO

RECOPILAR INFORMACION DE LAS BD23MUESTRA INFORMACION DE LAS BASES DE DATOSEXEC SP_HELPDB

MUESTRA INFORMACION DE UNA BASE DE DATOS ESPECIFICA

EXEC SP_HELPDB PRODUCTOS

MODIFICAR UNA BASE DE DATOS24 ALTER DATABASE basedatos { ADD FILE < EspecArchivo> [ ,...n ] [ TO FILEGROUP nombregruparchiv ] | ADD LOG FILE < especarchivo > [ ,...n ] | REMOVE FILE nombre_lgico | ADD FILEGROUP nombre_grupoarchivo | REMOVE FILEGROUP nombre_grupoarchivo | MODIFY FILE < EspecArchivo > | MODIFY NAME = nombre_nuevabd | MODIFY FILEGROUP nombregrupoarchivo,propiedadgrupoarchivo | SET < especopcion > [ ,...n ] [ WITH < terminacion > ] | COLLATE < nombreintercalacion > }

EXPANDIR SU BASE DE DATOS25--ADICIONANDO UN NUEVO ARCHIVO DE DATOS ALTER DATABASE COMERCIO ADD FILE (NAME= COMERCIO2, FILENAME='D:\COMERCIO.NDF', SIZE=2, MAXSIZE=10, FILEGROWTH=2)

EXPANDIR SU BASE DE DATOS26--ADICIONANDO UN NUEVO ARCHIVO DE REGISTROALTER DATABASE COMERCIOADD LOG FILE(NAME= COMERCIOLOG2,FILENAME='D:\COMERCIOLOG2.LDF',SIZE=2,MAXSIZE=10,FILEGROWTH=2)

RENOMBRAR UNA BASE DE DATOS27--Procedimiento almacenado del Sistema RENAMEDB

EXEC SP_RENAMEDB 'NOMBRE_ANTERIOR', 'NOMBRE_NUEVO'

RENOMBRAR UNA BASE DE DATOS28-- RENOMBRANDO LA BASE DE DATOS PRODUCTOS USE MASTERGOEXEC SP_DBOPTION PRODUCTOS,'SINGLE USER', TRUEEXEC SP_RENAMEDB 'PRODUCTOS', 'PRODUCT'EXEC SP_DBOPTION PRODUCT,'SINGLE USER', FALSE

BORRAR UNA BASE DE DATOS29Elimina una o ms bases de datos SQL Server. Borrar una base de datos elimina la base de datos y todos los ficheros usados en esa base de datos.DROP DATABASE database_name [ ,...n ] Borrar una sola base de datosDROP DATABASE Comercio

Borrar varias bases de datosDROP DATABASE Comercio,ventas

GRUPOS DE ARCHIVOS DE BASES DE DATOS30--AGREGA UN ARCHIVO DE GRUPO ALTER DATABASE VENTASADD FILEGROUP VENTAGRUPO1GOEXEC SP_HELPFILEGROUP VENTAGRUPO1--AGREGA UN ARCHIVO DE DATOS AL GRUPOALTER DATABASE VENTASADD FILE(NAME=VENTASG1,FILENAME='D:\VENTASG1',SIZE=2)TO FILEGROUP VENTAGRUPO1GO

GRUPOS DE ARCHIVOS DE BASES DE DATOS31--MARCAR EL GRUPO COMO PREDETERMINADOUSE VENTASGOALTER DATABASE VENTASMODIFY FILEGROUP VENTAGRUPO1 DEFAULT-- ADD UN NEW GRUPO ARCHIVOUSE PUBSGOALTER DATABASE VENTASADD FILE(NAME=VENTASPRUEBA,FILENAME='D:\VENTASPRUEBA.NDF',SIZE=2)GO

EXEC SP_HELPFILE

GRUPOS DE ARCHIVOS DE BASES DE DATOS32

EXEC SP_HELPFILEUSE VENTASGOALTER DATABASE VENTASMODIFY FILEGROUP [PRIMARY] DEFAULTGOALTER DATABASE VENTASREMOVE FILE VENTASG1GOALTER DATABASE VENTASREMOVE FILE VENTASPRUEBAGOALTER DATABASE VENTASREMOVE FILEGROUP VENTAGRUPO1GO