Módulo II: Introducción

Anuncio
Módulo II: Introducción



Bases de Datos
Trabajo con un SGBDR
Creación de Bases de Datos
© Maximiliano Odstrcil - 1
Bases de Datos


Tipos de Bases de Datos
Objetos de Bases de Datos
© Maximiliano Odstrcil - 2
Tipos de Bases de Datos
Bases de Datos del Sistema
master
model
tempdb
msdb
pubs
northwind
usuario1
Las
LasBD
BDdel
delsistema
sistema
Bases de Datos de Usuario
almacenan
almacenaninformación
informacióndel
del
SGBDR
SGBDR(NO
(NOBORRAR)
BORRAR)
© Maximiliano Odstrcil - 3
distribution
Son
Sonlas
lasBD
BD
de
deproducción.
producción.El
El
SGBDR
SGBDRpuede
puede
manejar
manejarmuchas
muchasde
de
éstas.
éstas.
Objetos de Bases de Datos (1)
Clustered Index
PK
EmpNum
integer
Anderson
Anderson
Barr
...
LastName
FK
FirstName
Stored
Procedure
UpdatePhone
Trigger
CtryCode Extension
LastMod
longstring
varchar(20)
char(2)
char(6)
longstring
10191
Labrie
Angela
FR
x19891
\HR\KarlD
10192
Labrie
Eva
FR
x19433
\HR\KarlD
10202
Martin
Jose
SP
x21467
\HR\AmyL
EmployeePhoneView
SELECT lastname, firstname, extension
FROM employee
© Maximiliano Odstrcil - 4
Check
x#####
Objetos de Bases de Datos (2)

Tablas: colección de filas con la misma cantidad de columnas.

Tipos de Datos: valores permitidos para cada columna.

Restricciones (Constraints): reglas que rigen los valores
permitidos para las columnas. Proporcionan el mecanismo de
integridad de datos.

Valores por defecto: valores que toman las columnas cuando no
se proporciona alguno.
© Maximiliano Odstrcil - 5
Objetos de Bases de Datos (3)

Reglas: información que define los valores para las columnas.

Índices: estructura de almacenamiento que provee un acceso
rápido a los datos y fuerza la integridad de los mismos.

Vistas: forma de ver los datos de una o más tablas.
© Maximiliano Odstrcil - 6
Objetos de Bases de Datos (4)

Procedimientos Almacenados: colección de sentencias SQL,
con un nombre, que se ejecutan como un todo. Admiten
parámetros de entrada y/o salida.

Desencadenadores (Triggers): procedimientos almacenados que
se ejecutan automáticamente después de producida una acción.
© Maximiliano Odstrcil - 7
Objetos de Bases de Datos (5)
 Formas
para referenciar los objetos:
 Nombres completos (absolutos)
 Nombres parciales (relativos)
© Maximiliano Odstrcil - 8
Objetos de Bases de Datos (6)
 Nombres
completos (absolutos):
 En SQL Server incluye 4 identificadores: nombre del servidor,
nombre de la BD, nombre del esquema y nombre del objeto.
 Ej: server1.ventas.dbo.facturas
 Cada objeto creado en SQL Server tiene un nombre único.
© Maximiliano Odstrcil - 9
Objetos de Bases de Datos (7)
 Nombres
parciales (relativos):
 No siempre hay que especificar el nombre completo: se pueden
emplear nombres relativos.
 Si no se especifica el servidor, se asume el servidor al cual se
realizó la conexión actualmente.
 Si no se especifica la base de datos, se asume la actual.
 Si no se especifica el esquema, se busca en el esquema por
defecto, o en el esquema dbo.
© Maximiliano Odstrcil - 10
Objetos de Bases de Datos (8)

En MySQL también existen las 2 formas de referenciar objetos:
 Nombres absolutos: bd.tabla.columna
 Nombres relativos: tabla.columna o columna
© Maximiliano Odstrcil - 11
Trabajo con un SGBDR

Diseño de aplicaciones

Implementación de BDs

Administración de BDs
© Maximiliano Odstrcil - 12
Diseño de aplicaciones (1)
Intelligent
Intelligent
Server
Server(2(2Capas)
Capas)
Intelligent
Intelligent
Client
Client(2(2Capas)
Capas)
NNCapas
Capas
Presentación
Presentación
Presentación
Presentación
Negocio
Negocio
Negocio
Negocio
Presentación
Presentación
Negocio
Negocio
Datos
Datos
Datos
Datos
© Maximiliano Odstrcil - 13
Cliente
Cliente
Browser
Browser
Presentación
Presentación
Negocio
Negocio
Datos
Datos
Internet
Internet
Datos
Datos
Diseño de aplicaciones (2)

Se requiere:
 Conocimiento de las funciones de negocio que se quieren
modelar
 Conocimiento de los requisitos de estas funciones.

Una buena BD proviene de un buen diseño.
© Maximiliano Odstrcil - 14
Diseño de aplicaciones (3)

Las diferentes arquitecturas para implementar un modelo C/S
presentan las siguientes capas:
 Presentación: lógica para presentar los datos a los usuarios
(lógica de interfaz). Casi siempre es implementada en el cliente.
 Negocio: lógica de la aplicación y reglas de negocio. El SGBDR
puede estar involucrado en esta capa.
 Datos: definición de la BD, integridad, procedimientos
almacenados y cualquier otra cosa relacionada a los datos. El
SGBDR se involucra estrechamente con esta capa.
© Maximiliano Odstrcil - 15
Diseño de aplicaciones (4)
 Las
opciones de arquitectura típicas son:
 Intelligent Client (2 Capas): la mayoría de los procesos ocurre
en el cliente con los datos residiendo en el servidor. La
performance es mala por el tráfico en la red.
 Intelligent Server (2 Capas): la mayoría de los procesos ocurre
en el servidor con la lógica de interfaz en el cliente. La lógica de
negocios es implementada casi por completo en la BD.
© Maximiliano Odstrcil - 16
Diseño de aplicaciones (5)
 Las
opciones de arquitectura típicas son:
 N Capas: el procesamiento es dividido en un servidor de BD,
uno o varios servidores de aplicación y los clientes. Es complejo
pero muy escalable.
 Internet: el proceso es dividido en tres capas con los servicios
de negocio y de presentación residiendo en un servidor web, y
los clientes usando simples browsers.
© Maximiliano Odstrcil - 17
Implementación de BDs (1)
 Implementar
una base de datos significa:
1) Diseñar la BD: para que use el hardware eficientemente y
permita el futuro crecimiento, identificando y modelando los
objetos de BD y la lógica de la aplicación, la información de
cada objeto y sus relaciones.
2) Crear la BD y sus objetos: incluyendo tablas, integridad de
datos, entrada de datos, procedimientos almacenados, vistas,
índices apropiados y seguridad.
© Maximiliano Odstrcil - 18
Implementación de BDs (2)
 Implementar
una base de datos significa:
3) Probar y poner a punto la aplicación y la BD: debe hacer
las tareas de forma rápida y correcta. Junto a un buen diseño,
correcto uso de índices y RAID se consigue un buen
rendimiento.
4) Planear el desarrollo: incluye analizar la carga de trabajo con
el sistema en producción para recomendar una óptima
configuración de índices.
© Maximiliano Odstrcil - 19
Implementación de BDs (3)
Implementar una base de datos significa:
5) Administrar la aplicación: incluye configurar los servidores y
clientes, monitorizar la performance en todo momento,
gestionar los trabajos, alertas y operadores, manejar la
seguridad y las copias de respaldo.
© Maximiliano Odstrcil - 20
Administración de BDs (1)
 Administrar
una BD involucra:
 Instalar y configurar el SGBDR
 Establecer la seguridad de la red
 Construir las BDs:
 Reservar espacio en disco.
 Crear trabajos automatizados.
© Maximiliano Odstrcil - 21
Administración de BDs (2)
 Administrar
una BD involucra:
 Manejar las actividades del día a día:
 Importación y exportación de datos.
 Copias de respaldo y restauraciones.
 Monitorizar y poner a punto la BD.
 Automatizar las actividades descriptas arriba.
© Maximiliano Odstrcil - 22
Creación de Bases de Datos

Almacenamiento y Transacciones
Creación de Bases de Datos

Modificación de Bases de Datos

Creación de Tipos de datos y Tablas

Planificación de la capacidad

© Maximiliano Odstrcil - 23
Almacenamiento y Transacciones (1)
 Transacción:




unidad de trabajo en una BD.
Atomicidad. Se completan todas las operaciones de
la transacción, o ninguna.
Consistencia. Una transacción siempre deja los
datos en estado consistente.
Aislamiento: Cualquier otra actividad concurrente
con la transacción no tiene efecto sobre esta última.
Durabilidad: Cuando se ejecuta una transacción, sus
resultados se guardan.
© Maximiliano Odstrcil - 24
Almacenamiento y Transacciones (2)
 Tanto
SQL Server como MySQL implementan las
características de una transacción mediante un registro
de transacciones.
 Cada
SGBDR implementa este registro de transacciones
de manera diferente.
© Maximiliano Odstrcil - 25
Almacenamiento y Transacciones (3)
 Funcionamiento
del registro de transacciones (RT) en
SQL Server:
1. Una aplicación envía una modificación de datos (inserción,
borrado o modificación).
2. Cuando se ejecuta la modificación, las páginas de datos
afectadas son cargadas desde el disco a la memoria (buffer
cache), si es que no fueron cargadas ya previamente por otra
consulta.
© Maximiliano Odstrcil - 26
Almacenamiento y Transacciones (3)
 Funcionamiento
del registro de transacciones (RT) en
SQL Server:
3. Cada modificación de datos es grabada en el registro de
transacciones mientras se realiza. El cambio siempre se guarda
en el registro y se escribe en el disco antes que el cambio sea
hecho en la base de datos.
4. El proceso de checkpoint escribe todas las transacciones
procesadas y completas a la BD en el disco. Esto se hace
secuencial y continuamente.
© Maximiliano Odstrcil - 27
Almacenamiento y Transacciones (4)
 Si
el sistema falla, el proceso de recuperación automático
usa el registro para completar una transacción completa
o bien retrotraerla si es que quedó incompleta.

En general, si el disco duro de la computadora tiene un
cache de disco en la controladora, conviene deshabilitarla
pues puede causar errores en la integridad de los datos.
© Maximiliano Odstrcil - 28
Almacenamiento y Transacciones (5)
 En
el caso de MySQL existen 2 registros de
transacciones:
 Registro para rehacer: para aplicar los cambios que
se hicieron en memoria y todavía no se escribieron
en los registros de la tabla (archivo con los datos de
la tabla).
 Registro para deshacer: para deshacer los cambios
realizados por una transacción incompleta.
© Maximiliano Odstrcil - 29
Almacenamiento y Transacciones (6)
 En
SQL Server, todas las BD tienen:
 Un archivo de datos primario (.mdf)
 Uno o más archivos del registro de transacciones
(.ldf)
 Opcionalmente, archivos de datos secundarios (.ndf)
 Estos archivos tienen un nombre físico (dado por el file
system) y un nombre lógico usado por SQL Server.
© Maximiliano Odstrcil - 30
Almacenamiento y Transacciones (7)
BaseDatos
Datos
Datos(archivo)
(archivo)
.mdf
.mdf oo .ndf
.ndf
Tablas,Índices
.ldf
.ldf
Extent (8 páginas
contiguas de 8KB)
Datos
Página (8 KB)
Máx. tamaño fila = 8060 bytes
© Maximiliano Odstrcil - 31
Log
Log (archivo)
(archivo)
Almacenamiento y Transacciones (8)
 Los
datos son almacenados en bloques de 8KB
contiguos en el disco llamados páginas (en 1MB se
pueden tener 128 páginas).
 Las
filas de las tablas no pueden compartir páginas (el
máximo tamaño de una fila es aproximadamente 8060
bytes).
© Maximiliano Odstrcil - 32
Almacenamiento y Transacciones (9)
 Las
tablas y los índices se almacenan en bloques de 8
páginas (64KB) llamados extents (en 1MB se pueden
tener 16 extents).
 Las
tablas pequeñas comparten extents.
© Maximiliano Odstrcil - 33
Almacenamiento y Transacciones (10)
 En
SQL Server, por defecto, el tamaño de un registro de
transacciones es un 25% del tamaño de los datos, y
puede ajustarse para mejorar rendimiento.
© Maximiliano Odstrcil - 34
Creación de Bases de Datos (1)
 Se
puede crear una BD usando algún asistente o
mediante la sentencia CREATE DATABASE.
 En
SQL Server, crear una BD requiere:
 El nombre (lógico)
 El tamaño
 Los archivos donde residirá (físico)
© Maximiliano Odstrcil - 35
Creación de Bases de Datos (2)
CREATE
CREATE DATABASE
DATABASE sample
sample
ON
ON
PRIMARY
PRIMARY (( NAME=sample_data,
NAME=sample_data,
FILENAME='c:\mssql7\data\sample.mdf',
FILENAME='c:\mssql7\data\sample.mdf',
SIZE=10MB,
SIZE=10MB,
MAXSIZE=15MB,
MAXSIZE=15MB,
FILEGROWTH=20%)
FILEGROWTH=20%)
LOG
LOG ON
ON
(( NAME=sample_log,
NAME=sample_log,
FILENAME='c:\mssql7\data\sample.ldf',
FILENAME='c:\mssql7\data\sample.ldf',
SIZE=3MB,
SIZE=3MB,
MAXSIZE=5MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
FILEGROWTH=1MB)

Cada vez que se crea, modifica o borra una BD, es
conveniente realizar una copia de seguridad de la BD
master.
© Maximiliano Odstrcil - 36
Creación de Bases de Datos (3)

PRIMARY: especifica los archivos en el grupo de archivos
primario. Una BD solo puede tener un grupo de archivos primario.
La extensión de archivo recomendada es .mdf. Si es omitido, el
primer archivo listado pasa a ser el archivo primario.

NAME: nombre lógico del archivo.

FILENAME: el nombre físico (completo) del archivo para el
sistema operativo. Debe ser local al servidor.
© Maximiliano Odstrcil - 37
Creación de Bases de Datos (4)

SIZE: tamaño de los archivos de datos y del registro. Se puede
especificar el tamaño en MB (por defecto) o en KB. El tamaño
mínimo es de 512 KB para ambos archivos. El tamaño
especificado para el archivo primario de datos debe ser más
grande que la BD model.

MAXSIZE: tamaño máximo al que puede crecer un archivo. Se lo
puede especificar en MB o KB. Si no se lo especifica se habla de
un crecimiento sin restricciones (hasta que se llene el disco).
© Maximiliano Odstrcil - 38
Creación de Bases de Datos (5)

FILEGROWTH: incremento de crecimiento del archivo. Este valor
no debe exceder al de MAXSIZE. Un valor de 0 indica sin
crecimiento. El valor puede ser especificado en MB, KB o
porcentajes. El valor por defecto es fijado en un 10% y el mínimo,
de 64 KB (1 extent).
© Maximiliano Odstrcil - 39
Creación de Bases de Datos (6)

En el caso de MySQL, para crear una BD se debe especificar su
nombre:
 CREATE DATABASE Prueba
© Maximiliano Odstrcil - 40
Creación de Bases de Datos (7)
 Después
de crear una BD, se pueden cambiar sus
opciones usando un asistente o mediante algún
comando.
 Algunas
opciones (SQL Server):
 read only: para lectura únicamente (Data Warehousing).
 autoshrink: determina si los archivos de BD reducen su
tamaño automáticamente.
© Maximiliano Odstrcil - 41
Modificación de Bases de Datos

Crecimiento de los archivos


Expansión del registro de transacciones
Reducción de archivos o de la BD

Eliminación de BDs
© Maximiliano Odstrcil - 42
Crecimiento de los archivos (1)
 Cuando
los archivos crecen, o las modificaciones de
datos se incrementan, surge la necesidad de aumentar el
tamaño de los archivos de datos o del registro.
 En
el caso de SQL Server, se puede hacer mediante un
asistente o con la sentencia ALTER DATABASE (desde
la BD master).
© Maximiliano Odstrcil - 43
Crecimiento de los archivos (2)
 Se
puede controlar el tamaño de la BD:
 Configurando el crecimiento automático de los archivos:
de esta forma se reducen las tareas de administración.
 Incrementando manualmente el tamaño máximo de los
archivos: se puede incrementar el tamaño de los archivos sin
que estos crezcan automáticamente .
 Aumentando manualmente archivos secundarios: se
pueden crear archivos secundarios en diferentes discos para
aumentar el tamaño. Esto no debe usarse si se tienen
sistemas de almacenamiento con RAID.
© Maximiliano Odstrcil - 44
Crecimiento de los archivos (3)
7 MB
3 MB
© Maximiliano Odstrcil - 45
ALTER
ALTER DATABASE
DATABASE sample
sample
MODIFY
MODIFY FILE
FILE (( NAME
NAME == 'sample_log',
'sample_log',
SIZE
SIZE == 10MB)
10MB)
GO
GO
ALTER
ALTER DATABASE
DATABASE sample
sample
ADD
ADD FILE
FILE
(NAME
(NAME == sample_data2
sample_data2 ,,
FILENAME='c:\mssql7\data\sample2.ndf',
FILENAME='c:\mssql7\data\sample2.ndf',
SIZE=10MB
SIZE=10MB ,,
MAXSIZE=20MB)
MAXSIZE=20MB)
GO
GO
Expansión del registro de transacciones (1)
 Cuando
crece la BD o la actividad de modificación de
datos, se debe expandir el registro de transacciones (se
debe monitorizar el RT para encontrar su tamaño
óptimo).
 Si
el registro de transacciones se llena, SQL Server no
puede guardar las transacciones y las mismas no se
procesan, quedando la BD sin actividad.
© Maximiliano Odstrcil - 46
Expansión del registro de transacciones (2)
 En
SQL Server se puede monitorizar el RT mediante el
Management Studio.
 Se
puede expandir el RT usando el Management Studio
o mediante la sentencia ALTER DATABASE.
© Maximiliano Odstrcil - 47
Expansión del registro de transacciones (3)
 Situaciones
que producen gran actividad en el RT:
Guardar información en una tabla que contiene índices.
Transacciones masivas (INSERT, UPDATE y DELETE) que
conducen a la modificación de muchas filas en una sola
sentencia.
Agregar o modificar datos de tipo text o image con la opción
WITH LOG.
© Maximiliano Odstrcil - 48
Reducción de archivos o de la BD (1)
 Cuando
hay mucho espacio reservado, o bien el espacio
de datos decrece, conviene reducir la BD o los archivos
de la misma.
 En
SQL Server se puede hacerlo usando un asistente o
mediante la sentencia DBCC SHRINKDATABASE.
© Maximiliano Odstrcil - 49
Reducción de archivos o de la BD (2)
 En
SQL Server se puede reducir un archivo de datos de
la BD mediante la sentencia DBCC SHRINKFILE.
 Se
puede establecer una opción para que la BD se
reduzca automáticamente (se debe hacer antes un
respaldo).
© Maximiliano Odstrcil - 50
Eliminación de BDs (1)
 Se
puede borrar una BD:
Mediante un asistente.
Mediante la sentencia DROP DATABASE.
DROP
DROP DATABASE
DATABASE northwind,
northwind, pubs
pubs
© Maximiliano Odstrcil - 51
Eliminación de BDs (2)
 No
se puede eliminar una BD cuando:
Está siendo restaurada.
Un usuario está conectada a ella.
Se está publicando como parte de una replicación.
© Maximiliano Odstrcil - 52
Creación de Tipos de datos y Tablas

Tipos de datos del sistema

Tipos de datos de usuario

Creación y borrado de tablas

Agregado o borrado de columnas

Generación de valores de columnas
© Maximiliano Odstrcil - 53
Tipos de datos del sistema (1)
 SQL
Server y MySQL proveen diferentes tipos de datos.
 La tabla muestra los tipos para SQL Server:
Tipo de Datos
Binary
Character
Unicode character
Date and Time
© Maximiliano Odstrcil - 54
Sistema
ANSI
Nº Bytes
binary [(n)]
-
0-8000
varbinary[(n)]
binary VARYING [(n)]
char [(n)]
character [(n)]
varchar [(n)]
char VARYING [(n)]
nchar [(n)]
-
0-8000
nvarchar [(n)]
-
4000 carac.
datetime
-
8
smalldatetime
-
4
0-8000
Tipos de datos del sistema (2)
Tipo de Datos
Exact Numeric
Sistema
ANSI
Nº Bytes
decimal [p,s]
dec
numeric [p,s]
-
Approximate
numeric
float [(n)]
double precision
8
real
float [(n)]
4
Global identifier
uniqueidentifier
-
16
Integer
int
integer
4
smallint,tinyint
-
2,1
money
-
8
smallmoney
-
4
Text and Image
text, image
-
0-2 GB
Unicode Text
ntext
-
0-2 GB
Monetary
© Maximiliano Odstrcil - 55
2-17
Tipos de datos de usuario (1)
 Los
tipos de datos definidos por el usuario están
basados en los tipos de datos del sistema (permiten
refinarlos y hacerlos más específicos).
 Creación:
con sp_addtype tipo, tdsistema, nulo
 EXEC sp_addtype isbn, 'smallint’, 'NOT NULL'
 CREATE TYPE dbo.isbn FROM smallint NOT NULL
 Borrado:
con sp_droptype tipo
 EXEC sp_droptype isbn
 DROP TYPE dbo.isbn
© Maximiliano Odstrcil - 56
Tipos de datos de usuario (2)
 Guías
para la creación de tipos de datos.
Si la longitud de la columna varía, usar tipos variables (varchar)
Para tipos de datos numéricos, tener en cuenta el
almacenamiento y la precisión. En general, usar decimal.
Si el almacenamiento supera los 8000 bytes, se deben usar los
tipos text o image.
© Maximiliano Odstrcil - 57
Creación y borrado de tablas (1)
 Cuando
se crea una tabla, se debe especificar:
 Su nombre
 Los nombres y tipos de datos de las columnas
(deben ser únicos dentro de una tabla específica)
 Se puede especificar en cada columna si admite o no
valores nulos (NULL o NOT NULL).
© Maximiliano Odstrcil - 58
Creación y borrado de tablas (2)
 La
sentencia para crear tablas es CREATE TABLE.
Nombre de Columna
Tipo de Dato
CREATE TABLE member
(
member_no
lastname
firstname
middleinitial
photograph
member_no
shortstring
shortstring
letter
image
NULL o NOT NULL
NOT NULL,
NOT NULL,
NOT NULL,
NULL,
NULL
)
 Para
borrar una tabla se usa la sentencia DROP TABLE.
© Maximiliano Odstrcil - 59
Agregado o borrado de columnas
ALTER TABLE
TABLE sales
sales
Agregar ALTER
ADD
ADD customer_name
customer_name char(30)
char(30) null
null
Commission
Commission
Sales_amount
Sales_amount
Sales_date
Sales_date
Borrar
ALTER
ALTER TABLE
TABLE sales
sales
DROP
DROP COLUMN
COLUMN sales_date
sales_date
© Maximiliano Odstrcil - 60
Customer
CustomerIDID Customer_name
Customer_name
Generación de valores de columnas (1)
 Se
pueden generar valores de columnas de diferentes
maneras:
 En SQL Server se puede emplear la propiedad
IDENTITY o la función NEWID() junto con el tipo de
datos uniqueidentifier.
 En MySQL se
auto_increment.
© Maximiliano Odstrcil - 61
puede
emplear
la
propiedad
Generación de valores de columnas (2)
 Uso
de la propiedad IDENTITY:
Se fija el valor de la semilla
Se fija el valor del incremento.
Se usa @@identity para determinar el valor más reciente.
Ej: create table tabla (col, tipo_dato, identity semilla,
incremento not null)
© Maximiliano Odstrcil - 62
Generación de valores de columnas (3)
 Uso
de la función NEWID():
Se aseguran valores globales únicos
Se usa con la restricción DEFAULT.
Ej: create table tabla (columna uniqueidentifier not null
default newid(), ...
© Maximiliano Odstrcil - 63
Generación de valores de columnas (4)
 Uso
de la propiedad auto_increment:
Ej: create table
auto_increment, ...
© Maximiliano Odstrcil - 64
tabla
(columna
int(11)
not
null
Generación de valores de columnas (5)
 Se
debe considerar lo siguiente:
Solo un tipo de columna identidad es permitida por tabla.
No puede ser modificado su valor.
En SQL Server no admite valores nulos.
Se usa con los tipos de datos numéricos.
La columna identidad no asegura unicidad (usar índices).
© Maximiliano Odstrcil - 65
Planificación de la Capacidad

Determinación del tamaño de la BD

Estimación de la cant. de datos por tabla
© Maximiliano Odstrcil - 66
Determinación del tamaño de la BD (1)
 Cuando
se planea la creación de una BD, se debe tener
en cuenta el espacio que ocupará en disco en forma de
archivos (el espacio incluye el RT, tablas e índices).
 Cada
objeto que se crea en la BD ocupa lugar
(procedimientos
almacenados,
desencadenadores,
vistas, etc.).
© Maximiliano Odstrcil - 67
Determinación del tamaño de la BD (2)
 Factores
a considerar:
Tamaño de la BD model y cantidad de datos en las tablas.
Número y tamaño de índices y tamaño del RT
Tamaño de las tablas del sistema.
© Maximiliano Odstrcil - 68
Estimación de la cant. de datos por tabla (1)
 Luego
de planificar la cantidad de espacio que necesita
la BD, se debe estimar la cantidad de espacio que
ocuparán los datos en las tablas.
 Se
puede calcular determinando la cantidad de filas,
tamaño de la fila, número de filas que llenan una página
y total de páginas necesarias para cada tabla.
© Maximiliano Odstrcil - 69
Estimación de la cant. de datos por tabla (2)
1. Calcular el número de bytes por fila:
 Sumar la cantidad de bytes de cada columna, tomando un
promedio en las columnas variables.
2. Determinar el número de filas por página:
 Dividir 8060 por el número de bytes de cada fila. Redondear al
entero más bajo.
3. Dividir el número de filas estimados en la tabla por el
número de filas por página.
4. Hacer esto por cada tabla y sumar todo para obtener el
número de páginas total.
© Maximiliano Odstrcil - 70
Descargar