SlideShare una empresa de Scribd logo
1 de 27
John Denis Suarez Ortiz
Dorvin Eduardo Bardales Lucana
Diseño de una Base de
Datos
BASE DE DATOS I
Ingeniería de Sistemas y Telemática
Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos, es
sin duda, el diseño de la base de datos.
Si las tablas no son definidas apropiadamente, podemos tener muchos problemas al momento de
ejecutar consultas a la base de datos para tratar de obtener algún tipo de información.
No importa si nuestra base de datos tiene sólo 20 registros, o algunos cuantos miles, es importante
asegurarnos que nuestra base de datos está correctamente diseñada para que tenga eficiencia y
que se pueda seguir utilizando por largo del tiempo.
INTRODUCCION
Básicamente, las reglas de Normalización están encaminadas a eliminar redundancias
e inconsistencias de dependencia en el diseño de las tablas. Tienes que tener en
cuenta que debes crear una BD funcional y eficiente.
NORMALIZACIÓN CERO:
Normalización de Bases de Datos y Técnicas de diseño
Primer nivel de Formalización/Normalización. (F/N)
1. Eliminar los grupos repetitivos de las tablas individuales.
2. Crear una tabla separada por cada grupo de datos relacionados.
3. Identificar cada grupo de datos relacionados con una clave primaria.
Ahora diremos que nuestra tabla está en el primer nivel de F/N. Hemos solucionado el problema de
la limitación del campo url. Pero sin embargo vemos otros problemas. Cada vez que introducimos un
nuevo registro en la tabla usuarios, tenemos que duplicar el nombre de la empresa y del usuario.
Segundo nivel de F/N
1. Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros.
2. Relacionar estas tablas mediante una clave externa.
Hemos creado tablas separadas y la clave primaria en la tabla usuarios, userId, está relacionada
ahora con la clave externa en la tabla urls.
Tercer nivel de F/N.
Eliminar aquellos campos que no dependan de la clave.
Relaciones entre los Datos
Antes de definir el cuarto nivel de F/N, veremos tres tipos de relaciones entre los datos: uno-a-uno, uno-con-
varios y varios-con-varios. Por un momento imaginemos que ponemos el campo url en una tabla separada, y
cada vez que introducimos un registro en la tabla usuarios también introducimos una sola fila en la tabla urls.
Entonces tendríamos una relación uno-a-uno: cada fila en la tabla usuarios tendría exactamente una fila
correspondiente en la tabla urls. Para los propósitos de nuestra aplicación no sería útil la normalización.
Las tablas en el ejemplo del Segundo Nivel de F/N. Nuestras tablas permiten a un sólo usuario tener asociadas
varias urls. Esta es una relación uno- con-varios, el tipo de relación más común, y hasta que se nos presentó el
dilema del Tercer Nivel de F/N. la única clase de relación que necesitamos.
La relación varios-con-varios, sin embargo, es ligeramente más compleja. En el ejemplo del Tercer Nivel de F/N
que tenemos a un usuario relacionado con varias urls.
Para disminuir la duplicación de los datos (este proceso nos llevará al Cuarto Nivel de
F/N), hemos creado una tabla que sólo tiene claves externas y primarias url_elations.
Cuarto Nivel de F/N.
1. En las relaciones varios-con-varios, entidades independientes no pueden ser almacenadas
en la misma tabla.
Ya que sólo se aplica a las relaciones varios-con-varios, la mayoria de los desarrolladores
pueden ignorar esta regla de forma correcta. Pero es muy útil en ciertas situaciones, tal como
está. Hemos optimizado nuestra tabla urls eliminado duplicados y hemos puesto las relaciones
en su propia tabla.
Ejemplo:
SELECT nombre, url FROM usuarios, urls, url_relations WHERE url_relations.relatedUserId = 1 AND
usuarios.userId = 1 AND urls.urlId = url_relations.relatedUrlId
Y si queremos recorrer todas las urls de cada uno de los usuarios, hariamos algo así:
SELECT nombre, url FROM usuarios, urls, url_relations WHERE usuarios.userId =
url_relations.relatedUserId AND urls.urlId = url_relations.relatedUrlId
Quinto Nivel de F/N.
Existe otro nivel de normalización que se aplica a veces, pero es de hecho algo esotérico y en la
mayoría de los casos no es necesario para obtener la mejor funcionalidad de nuestra estructura de
datos o aplicación. Su principio sugiere:
1. La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido
troceada.
Los beneficios de aplicar esta regla aseguran que no has creado ninguna columna extraña en tus
tablas y que la estructura de las tablas que has creado sea del tamaño justo que tiene que ser. Es
una buena práctica aplicar esta regla, pero a no ser que estés tratando con una extensa estructura
de datos probablemente no la necesitarás.
Integridad de los datos
La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos.
Ejemplo:
Si se especifica para un empleado el valor de identificador de 123, la base de datos no debe
permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una
columna empleado_valoracion para la que se prevean valores entre 1 y5, la base de datos no
debe aceptar valores fuera de ese intervalo.
Dos pasos importantes en el diseño de las tablas son la identificación de valores válidos para
una columna y la determinación de cómo forzar la integridad de los datos en la columna. La
integridad de datos pertenece a una de las siguientes categorías:
Integridad de entidad
La integridad de entidad define una fila como entidad única para una tabla determinada. La
integridad de entidad exige la integridad de las columnas de los identificadores o la clave
principal de una tabla, mediante restricciones PRIMARY KEY.
Integridad de dominio
La integridad de dominio viene dada por la validez de las entradas para una columna
determinada. Puede exigir la integridad de dominio para restringir el tipo mediante tipos de
datos, el formato mediante reglas y restricciones CHECK, o el intervalo de valores posibles
mediante restricciones FOREIGN KEY, restricciones CHECK, definiciones DEFAULT, definiciones
NOT NULL y reglas.
Integridad de los datos
Integridad referencial
La integridad referencial protege las relaciones definidas entre las tablas cuando se crean
o se eliminan filas. Para conseguir esa coherencia, es preciso que no haya referencias a
valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se
cambien en consecuencia en toda la base de datos.
Integridad definida por el usuario
La integridad definida por el usuario permite definir reglas de empresa específicas que
no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad
admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel
de columna y nivel de tabla en CREATE TABLE, procedimientos almacenados y
desencadenadores.
Integridad de los datos
La seguridad de los datos
La gran mayoría de los datos sensibles del mundo están almacenados en sistemas
gestores de bases de datos comerciales tales como Oracle, Microsoft SQL Server
entre otros, y atacar una bases de datos es uno de los objetivos favoritos para los
criminales.
Por lo que la atención generalmente se ha centrado en asegurar los perímetros de
las redes por medio de, firewalls, IDS / IPS y antivirus, cada vez más las
organizaciones se están enfocando en la seguridad de las bases de datos con
datos críticos, protegiéndolos de intrusiones y cambios no autorizados.
Buffers
Un buffer es una ubicación de la memoria
reservada para el almacenamiento temporal de
información digital. La primera cosa que
deberíamos tener muy clara es el hecho de que
hay una gran diferencia entre “Datos que están
en memoria” y “Datos que no están en
memoria”.
Rendimiento
de una BD
Consultas
La optimización de las consultas
podría ser el punto más extenso
de los tres por la gran variedad de
posibilidades que tenemos a la
hora de optimizar consultas.
Índices
Los índices son usados para
encontrar rápidamente los
registros que tengan un
determinado valor en alguna de
sus columnas.
Rendimiento
de una BD
Para el mantenimiento de los componentes de la base de datos es recomendable realizar un estudio
previo de la empresa, para así verificar el funcionamiento de estos componentes y para determinar si
existe sobresaturación de la información, esto con el fin de tener una idea más clara de lo que puede
hacerse sobre la base de datos para que esta esté optimizada.
Es muy importante que antes de realizar cualquier cambio en la base de datos
esta se debe respaldar, para así evitar cualquier inconveniente.
Mantenimiento
Análisis de los archivos de control (log files).
Cuando en una base de datos se produce algún problema, como puede ser la desconexión de un cliente, la
caída de esta puede estar debida a algún fallo interno, etc. Esta genera un mensaje en un fichero. El análisis
de estos mensajes puede dar una idea de la estabilidad de la base de datos, así como del acceso a la misma.
Análisis de las páginas de la base de datos.
Una base de datos está formada por distintos tipos de páginas:
 Estructura de las tablas
 Índices
 Datos
Es conveniente verificar la integridad de éstas páginas con las herramientas del propio sistema.
Transacciones en el limbo.
En una BD cuando se inicia un proceso de modificación de datos se inicia una transacción. Esta puede ser
finalizada, o deshecha. Sin embargo, si el cliente desde el inicio de la transacción pierde la conexión con la
BD, esta transacción queda pendiente o en el “limbo”. Conviene eliminar periódicamente este tipo de
transacciones que no finalizaron.
Mantenimiento
Gestión de índices.
Los índices en general se guardan en forma de árbol binario. Cuando los datos sufren muchos cambios, los
índices empiezan a ocupar más páginas, aumentando lo que se conoce como profundidad del índice. Una
reconstrucción periódica de estas tablas reubica los índices de nuevo, mejorando las prestaciones de la BD.
Gestión de usuarios.
El alta y baja de los usuarios que acceden a la BD es una tarea que debe realizarse puntualmente, ya que a
su vez contribuye a la seguridad de ésta.
Gestión de permisos.
No todos los usuarios tienen los mismos privilegios, y al igual que se gestiona el alta y baja de éstos, debe
gestionarse los permisos sobre las tablas, vistas, etc.
Copias de seguridad (backups).
Tanto en frío como en caliente. En caliente significa que los usuarios siguen conectados a la BD mientras se
hace la copia de ésta. No todos los sistemas de BD lo permiten. En frío es cuando sólo está conectado el
ABD a ésta.
Mantenimiento
Estimar el tamaño de una base de datos
Para la estimación del tamaño que ocupara una base de datos se deben tener en cuenta los
siguientes valores:
• Ti: Tamaño inicial de la base “limpia”. Este valor dependerá del motor seleccionado, de su
versión y del SO.
• Td: Tamaño de las tablas con sus datos. Es el valor que ocuparan los datos, este es el más
estándar de los valores ya que se obtiene calculando el tamaño de cada una de las tablas
sumando lo que ocuparan cada una de sus filas. Si hay que tener en cuenta que no todos los
motores poseen exactamente los mismos tipos de datos por lo que los tamaños podrían variar.
Además hay que tener en cuenta que cada motor maneja diferente las características de las
columnas (manejo de nulls por ejemplo).
• Tidx: Tamaño de los índices. Este tamaño se obtiene de la suma de todos los índices que
tenga cada una de las tablas. Y para su cálculo se deberá tener en cuenta el tipo de índice
(cluster, no cluster) y el método que utilice el motor seleccionado para almacenarlo
• Tc: Tamaño de las funciones y/o procedimientos (generalmente este tamaño es insignificante
respecto de los demás.
• Tud: este tamaño depende de la configuración de la base y de los tipos de procesos que se
ejecuten. En la mayoría de los casos suele ser un espacio a considerar si se tiene un alto
volumen de transacciones concurrentes o si las transacciones ejecutan muchas sentencias en
cada transacción.
• Tlog: Tamaño para logs de transacciones. Este valor puede variar de acuerdo a la
configuración de la base.
• CS: Coeficiente de seguridad Tdb
Tamaño de la base de datos
Tdb=(Ti+Td+Tidx+Tc+Tud+Tlog) * CS
Estimar el tamaño de una base de datos
RESUMEN
Es importante diseñar una base de datos para modelar con precisión las funciones empresariales, ya
que una base de datos bien diseñada ofrecerá un mejor rendimiento.
Se debe tener en claro la normalización de base de datos ya que gracias a esto podemos lograr un
buen diseño, las bases de datos normalizadas se caracterizan por tener un mayor número de tablas
estrechas (con pocas columnas).
La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por
ejemplo, si se especifica para un empleado el valor de identificador de 123, la base de datos no debe
permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una
columna empleado_valoracion para la que se prevean valores entre 1 y5, la base de datos no debe
aceptar valores fuera de ese intervalo.
Una de las funciones de las bases de datos consiste en proteger los datos, ya que es muy importante
la seguridad de una entidad.
Una base de datos deberá de asegurarse de que realice todas las operaciones importantes rápidas y
correctamente
Después de creado una base de datos debe de tener una constante mantenimiento para el buen
funcionamiento de la misma
También debemos de tener claro la estimación del tamaño de la base de datos ya que gracias a esto
se podrá ver si se necesita reajustes.
•Los nombres de las tablas deberían ir en plural y los nombres de las
columnas en singular.
•Utilizar caracteres alfanuméricos.
•Utilizar el guion bajo (_) para separar palabras.
•Limitar los nombres a menos de 64 caracteres.
•Utilizar palabras en minúsculas.
RECOMENDACIONES
•Utilizar las letras ID o COD en las columnas de clave primaria y
foránea.
•En una tabla, colocar primero la clave primaria seguida de las claves
foráneas.
•Los nombres de los campos deben ser descriptivos de su contenido.
Los nombres de los campos deben ser unívocos entre tablas,
excepción hecha de las claves
RECOMENDACIONES
Recursos del sistema cliente Servidor
hardware cpu Cpu más rápido posible de doble
núcleo o mayor
El más rápido posible
Ram La máxima posible La máxima posible.
Disco duro Disco duro rápido, con suficiente
espacio libre
La máxima posible.
Varios discos duros de alta
capacidad y alta velocidad
Red Conexión de alta velocidad Conexión de alta velocidad
software Sistema operativo Afinado para mejor operación de
aplicación cliente
Afinado para mejor operación de
la aplicación servidor
Red Afinado para mejor rendimiento Afinado para mejor rendimiento
aplicación Optimizar un gestor de base de
datos en aplicación cliente
Optimizar servidor del Dbms para
mejor desempeño
•Tener en cuenta esta tabla para mejorar el rendimiento de una base de datos bien diseñada:
RECOMENDACIONES
CONCLUSIONES
Al desarrollar este trabajo damos una inducción en el tema de Diseño de Bases de Datos.
Nos muestra la gran importancia que para cualquier entidad, ya sea una empresa grande o
chica, para el gobierno, hasta para la vida cotidiana de una persona tienen las bases de
datos. Todo gira alrededor de ellas, todos los procesos del mundo están registrados en ellas,
de ahí la importancia de llevar a cabo un diseño eficiente y libre de errores de las mismas.
APRECIACIÓN DEL EQUIPO
El buen diseño de una base de datos nos dará un mejor rendimiento de la misma.
Eficiente: Que realiza o cumple un trabajo o función a la perfección.
Eficiencia: Capacidad para realizar o cumplir adecuadamente una función
Esotérico: Que es incomprensible o difícil de entender.
Procedimientos almacenados: es un programa (o procedimiento) almacenado físicamente en una
base de datos. Su implementación varía de un gestor de bases de datos a otro.
Desencadenadores: es una clase especial de procedimiento almacenado que se ejecuta
automáticamente cuando se produce un evento en el servidor de bases de datos.
GLOSARIO
Firewalls: es un software o hardware que comprueba la información procedente de Internet
o de una red y, a continuación, bloquea o permite el paso de ésta al equipo
Dbms: Database Management System" (DBMS) son un tipo de software muy específico,
dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la
utilizan.
Software: Conjunto de programas y rutinas que permiten a la computadora realizar
determinadas tareas.
Hardware: Conjunto de elementos físicos o materiales que constituyen una computadora o
un sistema informático.
GLOSARIO
BIBLIOGRAFÍA
https://www.cs.upc.edu/~bcasas/docencia/pfc/NormalitzacioBD.pdf
http://www.monografias.com/trabajos30/base-datos/base-datos.shtml#ixzz46hPqSGl2
https://technet.microsoft.com/es-es/library/ms184276(v=sql.105).aspx
http://revista.seguridad.unam.mx/numero-12/principios-b%C3%A1sicos-de-seguridad-en-
bases-de-datos
http://miweb.yabiru.com.ar/sisop/ADR/material/2.2_ADR_Estimacion_de_tamanio_de_una_DB_pr
esenta.pdf
http://www.slinfo.una.ac.cr/manualsite/mantenimiento/PRC02.html

Más contenido relacionado

La actualidad más candente

POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020Laura Noussan Lettry
 
BASES DE DATOS TERCERA GENERACIÓN
BASES DE DATOS TERCERA GENERACIÓNBASES DE DATOS TERCERA GENERACIÓN
BASES DE DATOS TERCERA GENERACIÓNandresgelvez
 
Componentes de una base de datos
Componentes de una base de datosComponentes de una base de datos
Componentes de una base de datosSteven Nuñez
 
Diseño de una Base de Datos
Diseño de una Base de DatosDiseño de una Base de Datos
Diseño de una Base de DatosVannesa Salazar
 
Grupo 2 tarea sgbd
Grupo 2   tarea sgbdGrupo 2   tarea sgbd
Grupo 2 tarea sgbdjose775870
 
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónSemana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónremyor09
 
Base de datos pres..
Base de datos pres..Base de datos pres..
Base de datos pres..chovialbi
 
Base de datos
Base de datosBase de datos
Base de datosfati1996
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Estructuras de base de datos
Estructuras de base de datosEstructuras de base de datos
Estructuras de base de datosLuis Carlos
 
Base de datos
Base de datosBase de datos
Base de datosleimy11
 

La actualidad más candente (20)

Manejo Base Datos
Manejo Base Datos Manejo Base Datos
Manejo Base Datos
 
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Unidad A
Unidad AUnidad A
Unidad A
 
Presentacion bases de datos
Presentacion bases de datosPresentacion bases de datos
Presentacion bases de datos
 
Bases de Datos de Tercera Generacion
Bases de Datos de Tercera GeneracionBases de Datos de Tercera Generacion
Bases de Datos de Tercera Generacion
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
BASES DE DATOS TERCERA GENERACIÓN
BASES DE DATOS TERCERA GENERACIÓNBASES DE DATOS TERCERA GENERACIÓN
BASES DE DATOS TERCERA GENERACIÓN
 
Componentes de una base de datos
Componentes de una base de datosComponentes de una base de datos
Componentes de una base de datos
 
Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"
 
Diseño de una Base de Datos
Diseño de una Base de DatosDiseño de una Base de Datos
Diseño de una Base de Datos
 
Grupo 2 tarea sgbd
Grupo 2   tarea sgbdGrupo 2   tarea sgbd
Grupo 2 tarea sgbd
 
Base de datos
Base de datosBase de datos
Base de datos
 
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónSemana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
 
Base de datos pres..
Base de datos pres..Base de datos pres..
Base de datos pres..
 
Base de datos
Base de datosBase de datos
Base de datos
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Estructuras de base de datos
Estructuras de base de datosEstructuras de base de datos
Estructuras de base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 

Destacado

Proyecto base de datos (1)1
Proyecto base de datos (1)1Proyecto base de datos (1)1
Proyecto base de datos (1)1mariagandrede
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)claudiachiri
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidenciaslenithoz
 
Tecnologia Base Datos - Introduccion
Tecnologia Base Datos - IntroduccionTecnologia Base Datos - Introduccion
Tecnologia Base Datos - IntroduccionGuillermo Soler
 
Taller base de datos 1
Taller base de datos 1Taller base de datos 1
Taller base de datos 1danielab19
 
Taller 1 base de datos
Taller 1 base de datosTaller 1 base de datos
Taller 1 base de datosecuero
 
taller de base de datos
taller de base de datostaller de base de datos
taller de base de datosmarisielo
 
Implementación de bases de datos introducción
Implementación de bases de datos introducciónImplementación de bases de datos introducción
Implementación de bases de datos introducciónM.c. Omar Jasso
 
Proyecto base-de-datos
Proyecto base-de-datosProyecto base-de-datos
Proyecto base-de-datosjosue juarez
 
Diseño de base de datos relacionales (Unidad 2)
Diseño de base de datos relacionales (Unidad 2)Diseño de base de datos relacionales (Unidad 2)
Diseño de base de datos relacionales (Unidad 2)Orlando Verdugo
 
Unidad DidáCtica Iv DiseñO De Bases De Datos Relacionales
Unidad DidáCtica Iv DiseñO De Bases De Datos RelacionalesUnidad DidáCtica Iv DiseñO De Bases De Datos Relacionales
Unidad DidáCtica Iv DiseñO De Bases De Datos RelacionalesConfesorAD
 

Destacado (20)

Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
 
Proyecto base de datos (1)1
Proyecto base de datos (1)1Proyecto base de datos (1)1
Proyecto base de datos (1)1
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidencias
 
Tecnologia Base Datos - Introduccion
Tecnologia Base Datos - IntroduccionTecnologia Base Datos - Introduccion
Tecnologia Base Datos - Introduccion
 
Taller de bases de datos
Taller de bases de datosTaller de bases de datos
Taller de bases de datos
 
Actividad base de datos 2
Actividad base de datos 2Actividad base de datos 2
Actividad base de datos 2
 
Diseño de Base Datos UPVT
Diseño de Base Datos UPVTDiseño de Base Datos UPVT
Diseño de Base Datos UPVT
 
Taller base de datos 1
Taller base de datos 1Taller base de datos 1
Taller base de datos 1
 
Taller 1 base de datos
Taller 1 base de datosTaller 1 base de datos
Taller 1 base de datos
 
taller de base de datos
taller de base de datostaller de base de datos
taller de base de datos
 
Diseño de base de datos
Diseño de base de datosDiseño de base de datos
Diseño de base de datos
 
Sesion n°1 2012 tbd
Sesion n°1 2012 tbdSesion n°1 2012 tbd
Sesion n°1 2012 tbd
 
Taller bases de datos
Taller bases de datosTaller bases de datos
Taller bases de datos
 
Implementación de bases de datos introducción
Implementación de bases de datos introducciónImplementación de bases de datos introducción
Implementación de bases de datos introducción
 
Proyecto base-de-datos
Proyecto base-de-datosProyecto base-de-datos
Proyecto base-de-datos
 
Antologia de taller de base de datos 1 26
Antologia de taller de base de datos 1 26Antologia de taller de base de datos 1 26
Antologia de taller de base de datos 1 26
 
Diseño de base de datos relacionales (Unidad 2)
Diseño de base de datos relacionales (Unidad 2)Diseño de base de datos relacionales (Unidad 2)
Diseño de base de datos relacionales (Unidad 2)
 
Unidad DidáCtica Iv DiseñO De Bases De Datos Relacionales
Unidad DidáCtica Iv DiseñO De Bases De Datos RelacionalesUnidad DidáCtica Iv DiseñO De Bases De Datos Relacionales
Unidad DidáCtica Iv DiseñO De Bases De Datos Relacionales
 
Taller sobre Bases de Datos
Taller sobre Bases de DatosTaller sobre Bases de Datos
Taller sobre Bases de Datos
 

Similar a Diseño de una base de datos

Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datosPierina Mv
 
1. sistemas de administración de bases de datos 2007
1. sistemas de administración de bases de datos 20071. sistemas de administración de bases de datos 2007
1. sistemas de administración de bases de datos 2007jhonj95
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datosAnthonyLeonRuiz
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datosbandida123
 
Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datosUTN
 
Base de datos
Base de datosBase de datos
Base de datosSara
 
Base de datos
Base de datosBase de datos
Base de datosSara
 
Bases de datos
Bases de datosBases de datos
Bases de datosSara
 
Base de datos
Base de datosBase de datos
Base de datosSara
 
Resumen de antologia sobre base de datos y macro
Resumen de antologia sobre base de datos y macroResumen de antologia sobre base de datos y macro
Resumen de antologia sobre base de datos y macroPollo de Yareni
 
Bases de datos
Bases de datosBases de datos
Bases de datosAndypff
 
Proyecto Final Base De Datos
Proyecto Final Base De DatosProyecto Final Base De Datos
Proyecto Final Base De Datosguestcde16b
 

Similar a Diseño de una base de datos (20)

Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Dbms and my sql
Dbms and my sqlDbms and my sql
Dbms and my sql
 
1. sistemas de administración de bases de datos 2007
1. sistemas de administración de bases de datos 20071. sistemas de administración de bases de datos 2007
1. sistemas de administración de bases de datos 2007
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Dependiendo de los requerimientos de la base de datos
Dependiendo de los requerimientos de la base de datosDependiendo de los requerimientos de la base de datos
Dependiendo de los requerimientos de la base de datos
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Integridad en las bases de datos
Integridad en las bases de datosIntegridad en las bases de datos
Integridad en las bases de datos
 
Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Resumen de antologia sobre base de datos y macro
Resumen de antologia sobre base de datos y macroResumen de antologia sobre base de datos y macro
Resumen de antologia sobre base de datos y macro
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Proyecto Final Base De Datos
Proyecto Final Base De DatosProyecto Final Base De Datos
Proyecto Final Base De Datos
 
Taller2
Taller2Taller2
Taller2
 

Más de DorvinEduardo

MODELOS DE REFERENCIA OSI
MODELOS DE REFERENCIA OSIMODELOS DE REFERENCIA OSI
MODELOS DE REFERENCIA OSIDorvinEduardo
 
IP (PROTOCOLO DE INTERNET)
IP (PROTOCOLO DE INTERNET)IP (PROTOCOLO DE INTERNET)
IP (PROTOCOLO DE INTERNET)DorvinEduardo
 
CLASIFICACIÓN DE REDES
CLASIFICACIÓN DE REDESCLASIFICACIÓN DE REDES
CLASIFICACIÓN DE REDESDorvinEduardo
 
Programacion de microcontrolador
Programacion de microcontroladorProgramacion de microcontrolador
Programacion de microcontroladorDorvinEduardo
 
Arquitectura de un microprocesador
Arquitectura de un microprocesadorArquitectura de un microprocesador
Arquitectura de un microprocesadorDorvinEduardo
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosDorvinEduardo
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012DorvinEduardo
 
MODELAMIENTO ENTIDAD-RELACION (ER)
MODELAMIENTO ENTIDAD-RELACION (ER)MODELAMIENTO ENTIDAD-RELACION (ER)
MODELAMIENTO ENTIDAD-RELACION (ER)DorvinEduardo
 

Más de DorvinEduardo (14)

MODELOS DE REFERENCIA OSI
MODELOS DE REFERENCIA OSIMODELOS DE REFERENCIA OSI
MODELOS DE REFERENCIA OSI
 
IP (PROTOCOLO DE INTERNET)
IP (PROTOCOLO DE INTERNET)IP (PROTOCOLO DE INTERNET)
IP (PROTOCOLO DE INTERNET)
 
CLASIFICACIÓN DE REDES
CLASIFICACIÓN DE REDESCLASIFICACIÓN DE REDES
CLASIFICACIÓN DE REDES
 
Programacion de microcontrolador
Programacion de microcontroladorProgramacion de microcontrolador
Programacion de microcontrolador
 
Arquitectura risc
Arquitectura riscArquitectura risc
Arquitectura risc
 
Arquitectura de un microprocesador
Arquitectura de un microprocesadorArquitectura de un microprocesador
Arquitectura de un microprocesador
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas
VistasVistas
Vistas
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
Cálculo relacional
Cálculo relacionalCálculo relacional
Cálculo relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
MODELAMIENTO ENTIDAD-RELACION (ER)
MODELAMIENTO ENTIDAD-RELACION (ER)MODELAMIENTO ENTIDAD-RELACION (ER)
MODELAMIENTO ENTIDAD-RELACION (ER)
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 

Último

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 

Último (20)

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 

Diseño de una base de datos

  • 1. John Denis Suarez Ortiz Dorvin Eduardo Bardales Lucana Diseño de una Base de Datos BASE DE DATOS I Ingeniería de Sistemas y Telemática
  • 2. Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos, es sin duda, el diseño de la base de datos. Si las tablas no son definidas apropiadamente, podemos tener muchos problemas al momento de ejecutar consultas a la base de datos para tratar de obtener algún tipo de información. No importa si nuestra base de datos tiene sólo 20 registros, o algunos cuantos miles, es importante asegurarnos que nuestra base de datos está correctamente diseñada para que tenga eficiencia y que se pueda seguir utilizando por largo del tiempo. INTRODUCCION
  • 3. Básicamente, las reglas de Normalización están encaminadas a eliminar redundancias e inconsistencias de dependencia en el diseño de las tablas. Tienes que tener en cuenta que debes crear una BD funcional y eficiente. NORMALIZACIÓN CERO: Normalización de Bases de Datos y Técnicas de diseño
  • 4. Primer nivel de Formalización/Normalización. (F/N) 1. Eliminar los grupos repetitivos de las tablas individuales. 2. Crear una tabla separada por cada grupo de datos relacionados. 3. Identificar cada grupo de datos relacionados con una clave primaria. Ahora diremos que nuestra tabla está en el primer nivel de F/N. Hemos solucionado el problema de la limitación del campo url. Pero sin embargo vemos otros problemas. Cada vez que introducimos un nuevo registro en la tabla usuarios, tenemos que duplicar el nombre de la empresa y del usuario.
  • 5. Segundo nivel de F/N 1. Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros. 2. Relacionar estas tablas mediante una clave externa. Hemos creado tablas separadas y la clave primaria en la tabla usuarios, userId, está relacionada ahora con la clave externa en la tabla urls.
  • 6. Tercer nivel de F/N. Eliminar aquellos campos que no dependan de la clave.
  • 7. Relaciones entre los Datos Antes de definir el cuarto nivel de F/N, veremos tres tipos de relaciones entre los datos: uno-a-uno, uno-con- varios y varios-con-varios. Por un momento imaginemos que ponemos el campo url en una tabla separada, y cada vez que introducimos un registro en la tabla usuarios también introducimos una sola fila en la tabla urls. Entonces tendríamos una relación uno-a-uno: cada fila en la tabla usuarios tendría exactamente una fila correspondiente en la tabla urls. Para los propósitos de nuestra aplicación no sería útil la normalización. Las tablas en el ejemplo del Segundo Nivel de F/N. Nuestras tablas permiten a un sólo usuario tener asociadas varias urls. Esta es una relación uno- con-varios, el tipo de relación más común, y hasta que se nos presentó el dilema del Tercer Nivel de F/N. la única clase de relación que necesitamos. La relación varios-con-varios, sin embargo, es ligeramente más compleja. En el ejemplo del Tercer Nivel de F/N que tenemos a un usuario relacionado con varias urls.
  • 8. Para disminuir la duplicación de los datos (este proceso nos llevará al Cuarto Nivel de F/N), hemos creado una tabla que sólo tiene claves externas y primarias url_elations.
  • 9. Cuarto Nivel de F/N. 1. En las relaciones varios-con-varios, entidades independientes no pueden ser almacenadas en la misma tabla. Ya que sólo se aplica a las relaciones varios-con-varios, la mayoria de los desarrolladores pueden ignorar esta regla de forma correcta. Pero es muy útil en ciertas situaciones, tal como está. Hemos optimizado nuestra tabla urls eliminado duplicados y hemos puesto las relaciones en su propia tabla. Ejemplo: SELECT nombre, url FROM usuarios, urls, url_relations WHERE url_relations.relatedUserId = 1 AND usuarios.userId = 1 AND urls.urlId = url_relations.relatedUrlId Y si queremos recorrer todas las urls de cada uno de los usuarios, hariamos algo así: SELECT nombre, url FROM usuarios, urls, url_relations WHERE usuarios.userId = url_relations.relatedUserId AND urls.urlId = url_relations.relatedUrlId
  • 10. Quinto Nivel de F/N. Existe otro nivel de normalización que se aplica a veces, pero es de hecho algo esotérico y en la mayoría de los casos no es necesario para obtener la mejor funcionalidad de nuestra estructura de datos o aplicación. Su principio sugiere: 1. La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido troceada. Los beneficios de aplicar esta regla aseguran que no has creado ninguna columna extraña en tus tablas y que la estructura de las tablas que has creado sea del tamaño justo que tiene que ser. Es una buena práctica aplicar esta regla, pero a no ser que estés tratando con una extensa estructura de datos probablemente no la necesitarás.
  • 11. Integridad de los datos La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Ejemplo: Si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una columna empleado_valoracion para la que se prevean valores entre 1 y5, la base de datos no debe aceptar valores fuera de ese intervalo. Dos pasos importantes en el diseño de las tablas son la identificación de valores válidos para una columna y la determinación de cómo forzar la integridad de los datos en la columna. La integridad de datos pertenece a una de las siguientes categorías:
  • 12. Integridad de entidad La integridad de entidad define una fila como entidad única para una tabla determinada. La integridad de entidad exige la integridad de las columnas de los identificadores o la clave principal de una tabla, mediante restricciones PRIMARY KEY. Integridad de dominio La integridad de dominio viene dada por la validez de las entradas para una columna determinada. Puede exigir la integridad de dominio para restringir el tipo mediante tipos de datos, el formato mediante reglas y restricciones CHECK, o el intervalo de valores posibles mediante restricciones FOREIGN KEY, restricciones CHECK, definiciones DEFAULT, definiciones NOT NULL y reglas. Integridad de los datos
  • 13. Integridad referencial La integridad referencial protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas. Para conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos. Integridad definida por el usuario La integridad definida por el usuario permite definir reglas de empresa específicas que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel de columna y nivel de tabla en CREATE TABLE, procedimientos almacenados y desencadenadores. Integridad de los datos
  • 14. La seguridad de los datos La gran mayoría de los datos sensibles del mundo están almacenados en sistemas gestores de bases de datos comerciales tales como Oracle, Microsoft SQL Server entre otros, y atacar una bases de datos es uno de los objetivos favoritos para los criminales. Por lo que la atención generalmente se ha centrado en asegurar los perímetros de las redes por medio de, firewalls, IDS / IPS y antivirus, cada vez más las organizaciones se están enfocando en la seguridad de las bases de datos con datos críticos, protegiéndolos de intrusiones y cambios no autorizados.
  • 15. Buffers Un buffer es una ubicación de la memoria reservada para el almacenamiento temporal de información digital. La primera cosa que deberíamos tener muy clara es el hecho de que hay una gran diferencia entre “Datos que están en memoria” y “Datos que no están en memoria”. Rendimiento de una BD Consultas La optimización de las consultas podría ser el punto más extenso de los tres por la gran variedad de posibilidades que tenemos a la hora de optimizar consultas. Índices Los índices son usados para encontrar rápidamente los registros que tengan un determinado valor en alguna de sus columnas. Rendimiento de una BD
  • 16. Para el mantenimiento de los componentes de la base de datos es recomendable realizar un estudio previo de la empresa, para así verificar el funcionamiento de estos componentes y para determinar si existe sobresaturación de la información, esto con el fin de tener una idea más clara de lo que puede hacerse sobre la base de datos para que esta esté optimizada. Es muy importante que antes de realizar cualquier cambio en la base de datos esta se debe respaldar, para así evitar cualquier inconveniente. Mantenimiento
  • 17. Análisis de los archivos de control (log files). Cuando en una base de datos se produce algún problema, como puede ser la desconexión de un cliente, la caída de esta puede estar debida a algún fallo interno, etc. Esta genera un mensaje en un fichero. El análisis de estos mensajes puede dar una idea de la estabilidad de la base de datos, así como del acceso a la misma. Análisis de las páginas de la base de datos. Una base de datos está formada por distintos tipos de páginas:  Estructura de las tablas  Índices  Datos Es conveniente verificar la integridad de éstas páginas con las herramientas del propio sistema. Transacciones en el limbo. En una BD cuando se inicia un proceso de modificación de datos se inicia una transacción. Esta puede ser finalizada, o deshecha. Sin embargo, si el cliente desde el inicio de la transacción pierde la conexión con la BD, esta transacción queda pendiente o en el “limbo”. Conviene eliminar periódicamente este tipo de transacciones que no finalizaron. Mantenimiento
  • 18. Gestión de índices. Los índices en general se guardan en forma de árbol binario. Cuando los datos sufren muchos cambios, los índices empiezan a ocupar más páginas, aumentando lo que se conoce como profundidad del índice. Una reconstrucción periódica de estas tablas reubica los índices de nuevo, mejorando las prestaciones de la BD. Gestión de usuarios. El alta y baja de los usuarios que acceden a la BD es una tarea que debe realizarse puntualmente, ya que a su vez contribuye a la seguridad de ésta. Gestión de permisos. No todos los usuarios tienen los mismos privilegios, y al igual que se gestiona el alta y baja de éstos, debe gestionarse los permisos sobre las tablas, vistas, etc. Copias de seguridad (backups). Tanto en frío como en caliente. En caliente significa que los usuarios siguen conectados a la BD mientras se hace la copia de ésta. No todos los sistemas de BD lo permiten. En frío es cuando sólo está conectado el ABD a ésta. Mantenimiento
  • 19. Estimar el tamaño de una base de datos Para la estimación del tamaño que ocupara una base de datos se deben tener en cuenta los siguientes valores: • Ti: Tamaño inicial de la base “limpia”. Este valor dependerá del motor seleccionado, de su versión y del SO. • Td: Tamaño de las tablas con sus datos. Es el valor que ocuparan los datos, este es el más estándar de los valores ya que se obtiene calculando el tamaño de cada una de las tablas sumando lo que ocuparan cada una de sus filas. Si hay que tener en cuenta que no todos los motores poseen exactamente los mismos tipos de datos por lo que los tamaños podrían variar. Además hay que tener en cuenta que cada motor maneja diferente las características de las columnas (manejo de nulls por ejemplo). • Tidx: Tamaño de los índices. Este tamaño se obtiene de la suma de todos los índices que tenga cada una de las tablas. Y para su cálculo se deberá tener en cuenta el tipo de índice (cluster, no cluster) y el método que utilice el motor seleccionado para almacenarlo
  • 20. • Tc: Tamaño de las funciones y/o procedimientos (generalmente este tamaño es insignificante respecto de los demás. • Tud: este tamaño depende de la configuración de la base y de los tipos de procesos que se ejecuten. En la mayoría de los casos suele ser un espacio a considerar si se tiene un alto volumen de transacciones concurrentes o si las transacciones ejecutan muchas sentencias en cada transacción. • Tlog: Tamaño para logs de transacciones. Este valor puede variar de acuerdo a la configuración de la base. • CS: Coeficiente de seguridad Tdb Tamaño de la base de datos Tdb=(Ti+Td+Tidx+Tc+Tud+Tlog) * CS Estimar el tamaño de una base de datos
  • 21. RESUMEN Es importante diseñar una base de datos para modelar con precisión las funciones empresariales, ya que una base de datos bien diseñada ofrecerá un mejor rendimiento. Se debe tener en claro la normalización de base de datos ya que gracias a esto podemos lograr un buen diseño, las bases de datos normalizadas se caracterizan por tener un mayor número de tablas estrechas (con pocas columnas). La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por ejemplo, si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una columna empleado_valoracion para la que se prevean valores entre 1 y5, la base de datos no debe aceptar valores fuera de ese intervalo. Una de las funciones de las bases de datos consiste en proteger los datos, ya que es muy importante la seguridad de una entidad. Una base de datos deberá de asegurarse de que realice todas las operaciones importantes rápidas y correctamente Después de creado una base de datos debe de tener una constante mantenimiento para el buen funcionamiento de la misma También debemos de tener claro la estimación del tamaño de la base de datos ya que gracias a esto se podrá ver si se necesita reajustes.
  • 22. •Los nombres de las tablas deberían ir en plural y los nombres de las columnas en singular. •Utilizar caracteres alfanuméricos. •Utilizar el guion bajo (_) para separar palabras. •Limitar los nombres a menos de 64 caracteres. •Utilizar palabras en minúsculas. RECOMENDACIONES •Utilizar las letras ID o COD en las columnas de clave primaria y foránea. •En una tabla, colocar primero la clave primaria seguida de las claves foráneas. •Los nombres de los campos deben ser descriptivos de su contenido. Los nombres de los campos deben ser unívocos entre tablas, excepción hecha de las claves RECOMENDACIONES
  • 23. Recursos del sistema cliente Servidor hardware cpu Cpu más rápido posible de doble núcleo o mayor El más rápido posible Ram La máxima posible La máxima posible. Disco duro Disco duro rápido, con suficiente espacio libre La máxima posible. Varios discos duros de alta capacidad y alta velocidad Red Conexión de alta velocidad Conexión de alta velocidad software Sistema operativo Afinado para mejor operación de aplicación cliente Afinado para mejor operación de la aplicación servidor Red Afinado para mejor rendimiento Afinado para mejor rendimiento aplicación Optimizar un gestor de base de datos en aplicación cliente Optimizar servidor del Dbms para mejor desempeño •Tener en cuenta esta tabla para mejorar el rendimiento de una base de datos bien diseñada: RECOMENDACIONES
  • 24. CONCLUSIONES Al desarrollar este trabajo damos una inducción en el tema de Diseño de Bases de Datos. Nos muestra la gran importancia que para cualquier entidad, ya sea una empresa grande o chica, para el gobierno, hasta para la vida cotidiana de una persona tienen las bases de datos. Todo gira alrededor de ellas, todos los procesos del mundo están registrados en ellas, de ahí la importancia de llevar a cabo un diseño eficiente y libre de errores de las mismas. APRECIACIÓN DEL EQUIPO El buen diseño de una base de datos nos dará un mejor rendimiento de la misma.
  • 25. Eficiente: Que realiza o cumple un trabajo o función a la perfección. Eficiencia: Capacidad para realizar o cumplir adecuadamente una función Esotérico: Que es incomprensible o difícil de entender. Procedimientos almacenados: es un programa (o procedimiento) almacenado físicamente en una base de datos. Su implementación varía de un gestor de bases de datos a otro. Desencadenadores: es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. GLOSARIO
  • 26. Firewalls: es un software o hardware que comprueba la información procedente de Internet o de una red y, a continuación, bloquea o permite el paso de ésta al equipo Dbms: Database Management System" (DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Software: Conjunto de programas y rutinas que permiten a la computadora realizar determinadas tareas. Hardware: Conjunto de elementos físicos o materiales que constituyen una computadora o un sistema informático. GLOSARIO