Beruflich Dokumente
Kultur Dokumente
Snapshot
Archivos de base de datos
Cada base de datos tiene dos archivos a
nivel de sistema operativo:
Un archivo de datos.
Un archivo de registro.
Tipos de archivos:
Primario (.mdf)
Secundario (.ndf)
Registro de transacciones (.ldf)
Tipos:
Primario.
Definido por el usuario.
La unidad fundamental de
almacenamiento de datos es la “Página”.
Las páginas se numeran
consecutivamente dentro de cada
archivo de datos.
El tamaño de cada página es de 8 KB
(128 páginas por MB).
Los archivos de registro no contienen
páginas, solamente una serie de
registros.
Tipos de Páginas
De Datos.
De Índices.
De Texto/Imagen
Global Allocation Map y
Shared Global Allocation
Map
Page Free Space
Index Allocation Map
Bulk Changed Map
Differential Changed Map
Extensiones
Unidad básica para la asignación de
espacio.
Colección de 8 páginas contiguas (64 KB)
Se alojan 16 Extensiones por MB.
Tipos:
Uniformes: todas las páginas tienen datos de un
mismo objeto.
Mixtas: tienen páginas de datos de diferentes
objetos.
Objetos de una Base de datos de SQL
Server 2005
Esquemas y Tablas.
Columnas y Registros.
Elementos de programación
(procedimientos almacenados,
funciones, desencadenadores,
ensamblados).
Índices.
Vistas.
Esquemas
Un “Esquema” es una colección de elementos
de base de datos bajo un mismo espacio de
nombre.
En SQL Server 2005, los esquemas son
independientes de los usuarios que los crean.
Los nombres de objetos completamente
cualificados ahora requieren cuatro partes:
Servidor.BaseDeDatos.Esquema.Objeto
El esquema predeterminado es “dbo”
Cada usuario puede tener asignado un
esquema predeterminado distinto.
Crear Esquemas
Instrucción: CREATE SCHEMA
Permite crear un esquema, las tablas y
vistas que contendrá, así como asignar,
denegar y revocar permisos.
Utilice ALTER
o DROP para CREATE
GO
SCHEMA Personal
Numéricos
Float, Real
Aproximados
Cadenas de Cursor
Char, Varchar, Text
Caracteres Sql_variant
Cadenas de Table
Caracteres Nchar, Nvarchar, Ntext Timestamp
Unicode
Uniqueidentifier
Cadenas Xml
Binarias Binary, Varbinary, Image
Tipos de datos basados en Alias
CREATE TYPE IP
EXTERNAL NAME EnsambladoIP.[TipoIP.IP]
GO
DECLARE @IPPC IP
SET @IPPC = '0.0.0.0'
SET @IPPC.DireccionIP1 = 192
SET @IPPC.DireccionIP2 = 168
SET @IPPC.DireccionIP3 = 1
SET @IPPC.DireccionIP4 = 120
SELECT CAST(@IPPC AS Varchar) As IP
Crear una Tabla
Antes Después
IDENTITY &
UNIQUEIDENTIFIER
IDENTITY (Propiedad): crear una columna
auto-numerada en la tabla.
Sólo puede definirse en una columna por cada
tabla.
Considere un valor inicial y un valor de incremento.
No garantiza la unicidad de los valores 1
UNIQUEIDENTIFIER (GUID)
Tipo de dato de 16 bytes.
Inicializado mediante la función NEWID() o desde
una cadena formateada.
Garantiza la unicidad de los valores
Ejemplo: IDENTITY &
UNIQUEIDENTIFIER
CREATE TABLE Pedido
(
Numero int NOT NULL IDENTITY(1,1),
Fecha smalldatetime NOT NULL,
Cliente varchar(50) NOT NULL,
GUID uniqueidentifier NOT NULL
)
GO
TABLA
Integridad
de Entidad
PRIMARY KEY
UNIQUE CHECK
FOREIGN KEY
Integridad
Referencial
Restricción de Clave Primaria
Instrucción PRIMARY KEY.
Puede ser simple o compuesta.
Formada sólo por columnas NOT NULL.
Sólo una restricción de clave primaria por tabla.
Crea un índice único.
Al crearse una clave primaria, se verifica que:
Las columnas que la conforman no acepten valores nulos.
La combinación de valores para dichas columnas no se
duplique.
No puede eliminar una clave primaria cuando:
Ésta es referenciada por otra tabla (clave foránea).
La tabla tiene un índice primario XML.
Consulte la vista sys.key_constraints para obtener información de
las restricciones existentes.
Ejemplo: Restricción PRIMARY
KEY
CREATE TABLE Producto
( IdProducto int NOT NULL
CONSTRAINT PK_Producto_IdProducto PRIMARY KEY,
NombreProducto varchar(30) NOT NULL,
FechaIngreso smalldatetime NOT NULL,
)
Utilice la instrucción DEFAULT en INSERT para forzar la inserción del valor por
defecto
INSERT INTO Producto VALUES (25, 'Leche Gloria', DEFAULT)
Restricción de Validación
Instrucción CHECK.
Utilice una expresión lógica para validar el valor
de una columna.
Pueden existir múltiples restricciones de
validación para las columnas de una tabla.
Sólo se comprueban en sentencias INSERT y
UPDATE.
Evite la conversión de tipos en esta clase de
restricción.
Consulte la vista sys.check_constraints para
obtener información de las restricciones
existentes.
Ejemplo: Restricción CHECK