UNIVERSIDAD NACIONAL DE TRUJILLO
INGENIERIA INDUSTRIAL
Implementando una BD
ING. Lourdes Roxana Diaz Amaya
Sistema de administración de base de
datos
El sistema de administración de base de datos relacionales (RDBMS) es el
responsable de:
Mantener las relaciones entre los datos de la base de datos
Asegurar que los datos estén correctamente almacenados: que no infrinjan
las reglas que se definen las relaciones entre los datos.
Recuperar todos los datos hasta un punto de coherencia garantizada en caso
de un error del sistema.
Sistema de administración de base de
datos
Introducción a la base de datos
Cuando creamos una Base de Datos, se crea la estructura de almacenamiento.
Esta estructura imcluye por lo menos:
• Un archivo de Datos (Data File )
•Un archivo Log de Transacciones (Transaction log file )
Como se almacena la Data ?
Database 25% de
la BD
Tipos de
Data (File) Log (file)
Archivo de
.mdf or .ndf .ldf
BD
Tablas, Extensión (8 espacios
Indices contiguos, paginas de 8 KB)
Data Pagina (8KB)
Tipos de Archivos de Base de Datos
Existen 3 tipos:
•Primary Data File: Toda BD por lo menos posee este tipo de archivos y
tienen la extensión .MDF
•Secondary Data File: Puede mantener todos los datos y objetos que no
residen en la primary data file. Son opcionales y tienen la extensión .NDF
•Log Files: Estos archivos mantienen toda la información del transaction log
requerida para recuperar la BD. Cada BD tiene por lo menos un archivo de
este tipo de extensión .LDF
Consideraciones al crear un archivo
de base de datos
• Crear una Base de datos Se copias las
tablas del
Sistema
Modelo Copia Nueva
de una Database
Database
8kb 8kb 8kb 8kb 8kb 8kb 8kb 8kb ……. 8kb 8kb 8kb 8kb Página
128 páginas = 1 Mb
Un Registro = Máx 8060 bytes + 34 bytes de cabecera.
Los Indices y objetos = 8 páginas = 64bytes
Como Trabaja el Transactión Log
El Transaccion Log almacena la modificacion de datos, ordenes Insert,
Update, delete.
3.- Modificación es grabada
1.- Data Modificada es en el transaction log
mandada por aplicación
Disk
Buffer Cache
Disk
2.- las paginas son localizadas
dentro del buffer cache 4.-Las transacciones commited
y son leídas y modificadas son aceptadas en la BD.
Creando una base de datos a través
del SQL – Server
Trabajando con Base de Datos
Creando Base de Datos:
Puede crear una BD por medio:
• Utilizando Enterprise Manager
• Orden Create Database
Datos a considerar :
• Nombre de la base de Datos
•Nombre y Tamaño del Archivo de Datos y del transaction Log
•La ubicación Fisica (De la data y del Log)
•Opcionalmente el tamaño de la BD y el Filegrowth (Indice de
Crecimiento.
Ejemplo:
Utilizando Orden Create Database
CREATE DATABASE MIBD_LAB01
ON
(NAME = MIBD_LAB01_dat,
filename='D:\Maria\T-SQL\MIBD_LAB01_dat.mdf',
size=5,
maxsize=unlimited,
filegrowth=10% )
LOG ON
(name=MIBD_LAB01_log,
filename='D:\Maria\T-SQL\MIBD_LAB01 _log.ldf',
size=2MB,
maxsize=unlimited,
filegrowth=10%)
Trabajando con Base de Datos
Eliminando una Base de Datos:
Puede eliminar una BD por medio:
• Utilizando Enterprise Manager
• Orden Drop Database
Consideraciones
• Backup de la BD
•No debe de haber ninguna conexión o proceso en la BD a eliminar
Ejemplo:
DROP DATABASE MIBASE03_NEW
Trabajando con Base de Datos
Modificando Base de Datos:
Puede modificar una BD (Archivo de Datos o el log) por medio:
• Utilizando Enterprise Manager
• Orden Alter Database
Se puede realizar de 3 maneras :
• Configurando su crecimiento automático
• Expandiendo el Archivo de Datos
• Creando un grupo secundario
+
7 MB 3 MB
ALTER DATABASE MIBD_LAB01
ADD FILE
( NAME = MIBD_LAB01_dat2,
FILENAME= 'D:\Maria\T-SQL\MIBD_LAB01_DAT2.NDF',
SIZE = 3MB,
MAXSIZE=10MB,
FILEGROWTH=5MB )
Ampliando la base de datos en 3.00 MB de disco 'MIBASE01_DAT2'.
Shrinking una base Datos o Archivo
Cuando mucho espacio es localizado o cuando los requerimientos
de espacio decrecen, se puede realizar shrink a una BD.
Factores a Considerar:
• Sacar un Backup antes de ejecutar esta orden
• El resultado de la BD, debe ser mas grande que la BD model y
mucho mas grande que la data existente.
Ejemplo :
Shrinking una base de datos entera
DBCC SHIRINKDATABASE(Mibase01, 3)
Aquí se ha disminuido 3%
Ejemplo :
Shrinking a un archivo de la Base de Datos
DBCC SHIRINKFILE(Mibase01, 2)
Aquí se ha disminuido 2 MB
Planificando la capacidad de la base
de Datos
A continuación se presenta una lista de factores a considerar.
1.- Tamaño de las tablas del Sistema
2.- Cantidad de datos en las tablas incluido el Factor de Crecimiento
3.- Numero de In dices y el tamaño de cada uno especialmente el
tamaño de cada clave, numero de registros y el FIL FACTOR.
4.- El tamaño de LOG de TRANSACCIONES. Determine el numero de
las actividades de modificación, el ancho de cada transacción y la
frecuencia de BACKUP de las BD.
Planificando la capacidad de la base de
Datos
• Estimando la cantidad de espacio en las tablas:
• Cantidad de datos en cada tabla de la B
– Numero de registros
– El tamaño de registro
– Numero de registros que alcanzan en una pagina
– El numero de paginas requeridas por cada tabla
• Factor de Crecimiento
Planificando la capacidad de la base de
Datos
• Estimando el numero de paginas por tabla
• Calcular el numero de Bytes por registro. Si una o mas columnas
son tomadas como ancho variable podria tomar el promedio del
total. Añada 9 bytes al total del registro.
• Determinar el número máximo de registros contenidos en cada
página. Para ello divida 8094 entre el numero de bytes por registro.
Redondear el resultado al entero proximo mas pequeño.
• Dividir el el numero aproximado del total del registros entre el
número de registros por pagina. El resultado equivale al numero
minimo de paginas que necesita.
• Cuantas tablas tiene?
• Cada tabla cual es su diseño? Atributo y tipo de datos
Ejemplo:
Se tiene 300,000 registro y la estructura de la tabla es:
2 Columnas enteros (4 bytes) y 4 campos char(15) y una columna datetime
1.- Tamaño del Registro :
2*4 bytes + 4*15 bytes + 1*8 bytes + 9 bytes de cabecera = 85 bytes
2.- Numero de Registros por página:
8094 /85 = 95 registros por página.
3.- Número de páginas en la tabla:
300,000 / 95 = 3158 páginas
4.- Tamaño de la tabla :
3158 * 8Kb = 25,564Kb o 25Mb aprox.