Fundamentos Base Datos
Transcript of Fundamentos Base Datos
-
8/18/2019 Fundamentos Base Datos
1/12
27/01/
Fundamentos de Bases de datosNivelación - 2016
Ing. Martín Leiva Castillo
Introducción
Diseñar bases de datos relacionales para el soporte de
sistemas de procesamiento de transacciones
Programar bases de datos transaccionales usando
Microsoft SQL Server 2012
Administrar bases de datos usando Microsoft SQL Server
2012
Diseñar e implementar bases de datos para el soporte de
toma de decisiones
Objetivos del curso
Microsoft SQL Server
Microsoft SQL Server 2012 Express
http://www.microsoft.com/es-es/download/details.aspx?id=29062
AllFusion Erwin Data Modeler 7
Principales herramientas
-
8/18/2019 Fundamentos Base Datos
2/12
27/01/
Microsoft SQL Server 2012 Express (1) Microsoft SQL Server 2012 Express (2)
Bases de datos
Ambiente de procesamiento de archivos
-
8/18/2019 Fundamentos Base Datos
3/12
27/01/
Desventajas
Satisfacen necesidades específicas
Redundancia de datos
Aislamiento de los datos
Difícil acceso a los datos
Problemas de integridad de datos
Ambiente de procesamiento de archivos Ambiente de administración de datos
Sistema de gestión
de bases de datos
(DBMS)
Base de datos
¿Qué es una base de datos?
Es una colección de datos interrelacionados almacenados en
conjunto sin redundancias perjudiciales e innecesarias
Su finalidad es la de servir a una o más aplicaciones de la
mejor manera posible
Los datos se almacenan de modo que resultan
independientes de los programas que los usan
Existen varias categorizaciones
Las más comunes son:
Bases de datos OLTP (On Line Transaction Processing)
Bases de datos OLAP (On Line Analytical Processing)
Tipo de bases de datos
-
8/18/2019 Fundamentos Base Datos
4/12
27/01/
Bases de datos dinámicas donde la información se
modifica en tiempo real
Los datos se insertan, se eliminan, se modifican y se
consultan en línea durante la operatividad de los sistemas
informáticos
Están diseñadas para un mejor desempeño en la inserción,
eliminación y modificación de datos
Bases de datos OLTP
Sistemasinformáticos
Bases de datos OLTP
Bases de datos OLTP
Logística
Ventas
Personal
Sistema de
logística
Sistema de
ventas
Sistema de
personal
Bases de datos estáticas donde la información no es
afectada en tiempo real
Los datos se consultan para el análisis y toma de
decisiones
Están diseñadas para un mejor desempeño de las
consultas con grandes volúmenes de datos
Los datos que utilizan principalmente se obtienen de las
bases de datos OLTP
Bases de datos OLAP
Base de datosOLAP
Bases de datos OLAP
Bases de datos OLTP
Logística
Ventas
Personal
Proceso de
extracción,
transformación y
carga de datos
(ETL)
-
8/18/2019 Fundamentos Base Datos
5/12
27/01/
Sistema de gestión de base de datos (SGBD)
Database Management System o DBMS
Es un conjunto de programas especializados, diseñados para
proveer un ambiente que sea conveniente y eficiente para la
descripción, protección, almacenamiento y acceso a la base
de datos
Permite:
Altos volúmenes de información
Estructuras de almacenamiento
Manipulación de datos
Seguridad de los datos almacenados
Mantener la integridad de datos
Funciones de un DBMS
Definir los datos en forma separada a las aplicaciones que
los utilizan
Proporcionar un método para insertar, modificar y eliminar
los datos
Proteger los datos de manera segura, confiable, consistente
y correcto
Permitir que múltiples usuarios compartan los datos
Permitir la recuperación de los datos mediante un lenguaje
entendible
Beneficios de utilizar un DBMS
Mejora la integridad de los datos
Aumento de accesibilidad de los datos
Mejora en el control de los datos
Facilidad en el desarrollo y administración de las aplicaciones
Mejora en la seguridad de los datos
Mejora el acceso concurrente
ProgramasBases de datos
Sistemas de gestión de bases de datos
Logística
DBMSVentas
Personal
Aplicativo de
logística
Aplicativo de
ventas
Aplicativo de
personal
Consultas
-
8/18/2019 Fundamentos Base Datos
6/12
27/01/
Algunos DBMS … Abstracción de datos
...
Independencia de datos
...
Lenguajes de bases de datos
Lenguaje de definición de datos (DDL)
Sentencias que permiten crear, modificar o eliminar bases de datos
También permiten crear, modificar o eliminar los componentes de
una base de datos (tablas, procedimientos, funciones, vistas, etc.)
Lenguaje de manipulación de datos (DML)
Sentencias que permiten insertar, modificar y eliminar datos
También permiten consultar datos
Lenguaje de control de datos (DCL)
Sentencias que permiten asignar o quitar permisos de acceso a los
datos
Restringe el acceso a los usuarios
-
8/18/2019 Fundamentos Base Datos
7/12
27/01/
Administración de base de datos
Definen el esquema lógico de la base de datos
Definen las estructuras de almacenamiento y los métodos
de acceso
Modifican el esquema lógico y la organización física
Autorizan el acceso a los datos
Especifican las restricciones de integridad de datos
Definen y administran los procedimientos de respaldo y
recuperación de datos
Monitorean el rendimiento de la base de datos
Instalan y configuran los servidores de datos
Modelos de datos
Modelos de datos
Un modelo es una representación simplificada de la realidad
Un modelo de datos es un conjunto de herramientas
conceptuales que sirven para describir la estructura de una
base de datos
La estructura de la base de datos esta formada por los
datos, los vínculos entre datos, la semántica de datos y las
restricciones que deben de cumplirse para esos datos
Tipo de modelos de datos
Modelos de datos de alto nivel
Modelos de datos conceptuales
Utilizan conceptos como entidades, atributos y relaciones
Modelos Entidad-Relación
Modelos de datos de bajo nivel
Modelos de datos físicos
Describen formato de los registros, estructura de archivos y métodos
de acceso
Modelos de datos de representación
Modelos de datos de implementación
Modelos más comunes:
Modelo relacional de datos
Modelo de red
Modelo jerárquico
-
8/18/2019 Fundamentos Base Datos
8/12
27/01/
Modelo Relacional de Datos
Basado en la lógica de predicados y en la teoría de conjuntos
Formulado por Edgar F. Codd de IBM en 1970
Es el más utilizado para modelar y administrar datos
Se basa en el uso de relaciones, que pueden considerarse enforma lógica como conjuntos de datos llamadas tuplas
Se puede pensar en cada relación como si fuese una tabla queesta compuesta de registros (filas) y columnas (campos)
El número de filas de una tabla se llama cardinalidad de unarelación
El número de columnas de una tabla se llama grado de unarelación
Modelo relacional de datos
Estructura de una Tabla
Columnas, campos oAtributo
Filas, registroso tuplas
El modelo relacional considera a la base de datos como una
colección de relaciones
Una relación representa una tabla que no es más que un
conjunto de filas, cada fila es un conjunto de campos y cada
campo representa un valor que describe el mundo real
Existen dos lenguajes relacionales formales para manipular losdatos:
Álgebra relacional , permite describir la forma de realizar una consulta
Cálculo relacional , sólo indica lo que se desea devolver
El DBMS que gestiona las bases de datos relacionales reciben elnombre de Sistema de Gestión de Bases de Datos Relacionales(RDBMS)
Bases de datos relacionales
-
8/18/2019 Fundamentos Base Datos
9/12
27/01/
Un esquema contiene la definición de una estructura quegeneralmente es una relación o tabla
Determina la identidad de la relación y qué tipo de
información podrá ser almacenada (metadatos)
Consta de:
Nombre o identificador de la relación
Nombre de los campos de la relación y sus dominios
El dominio define los valores permitidos en un campo. Se puedeconsiderar como equivalente el tipo de datos
Esquemas Un instancia es la aplicación de un esquema a un conjunto
finito de datos
Es el contenido de una tabla en un momento dato o un
subconjunto de la información contenida en una tabla
Algunas columnas de una tabla
Algunas filas de una tabla
La instancia es más dinámica que el esquema, pues los datos
que se almacenan en la base de datos pueden cambiar con
frecuencia
Instancias
Una dependencia funcional es una conexión entre dos o másatributos
Se dice que un conjunto de funciones es funcionalmente dependientecuando existe una relación funcional entre ellas
Si y depende funcionalmente de x se denota x y
Ejemplo: FechaNacimiento Edad
Propiedades:
Dependencia funcional reflexiva
Si y esta incluido en x entonces x y
Dependencia funcional aumentativaSi x y entonces xz yz
Dependencia funcional transitiva
Si x y y y z entonces x z
Dependencias funcionales
Es un proceso que consiste en aplicar una serie de reglas a las
relaciones que componen una base de datos relacional
Permiten:
Minimizar la redundancia de los datos
Disminuir problemas de actualización de los datos
Proteger la integridad de los datos
Formas normales:
Primera Forma Normal (1FN)
Segunda Forma Normal (2FN)
Tercera Forma Normal (3FN) Forma normal de Boyce-Codd (FNBC)
Cuarta Forma Normal (4FN)
Quinta Forma Normal (5FN)
Normalización de base de datos
-
8/18/2019 Fundamentos Base Datos
10/12
27/01/
Cada tabla debe tener un nombre único
Todos los datos de una columna deben ser del mismo tipo
No pueden haber dos filas iguales
Cada fila debe identificarse unívocamente por una columna o
conjunto de columnas llamada clave primaria
La clave primaria puede ser generada mediante una secuencia
numérica incrementada automáticamente cada vez que se
inserta una fila
Consideraciones El nombre de la columna es exclusivo en una tabla
Principales propiedades:
Nombre
Tipo de dato
Longitud
Opcional / obligatorio
Valor predeterminado
Regla de validación
Propiedades de las columnas
Ejemplo de columnas
N ombre T ipo de
dato
Longitud Obligatorio Predeterminado Regla de validación
codigo Texto 7 Sí
apellidoPaterno Texto 30 Sí
apellidoMaterno Texto 30 Sí
nombres Texto 30 Sí
fechaNacimiento Fecha No Debe ser mayor a los 15 años
fechaIngreso Fecha Sí Fecha del sistema
telefono Texto 10 No
hermanos Número Sí 0 Mayor o igual a 0
estado Texto 12 Sí Ingresante Ingresante, Matriculado, Egresado
Tabla: Alumno
Restricciones de base de datos
Una restricción es una limitación que obliga el cumplimiento
de ciertas condiciones en la base de datos
Limitan los datos que pueden ser almacenados en las tablas
Son:
Restricciones de dominio
Los valores de una columna deben ser del mismo tipo de dato
Restricciones de clave
Toda tabla debe tener una clave primaria que identifica a una única fila de la
tabla
Integridad referencial
Sirve para mantener la consistencia entre filas de dos tablas
-
8/18/2019 Fundamentos Base Datos
11/12
27/01/
Una tabla no debe tener filas duplicadas
Una clave candidata es un conjunto de columnas que permitenidentificar a una única fila de una tabla
Una tabla puede tener una o muchas claves candidatas
La clave primaria es la clave candidata que el diseñador de base dedatos escoge para identificar las filas de una tabla
Las claves únicas o claves alternativas son las claves candidatas queno han sido escogidas como clave primaria
La clave foránea o clave ajena es una referencia a una clave en otratabla. Determina la relación existente entre dos tablas
Una clave compuesta es una clave que esta conformada por másde una columna
Claves Ejemplo de claves
Codigo RazonSocial RUC Telefono
0001 Representaciones I ñigo SAC 2345567890 453647
0002 Comercial izadora deAlimentos SA 5676895847 234576
0003 Diseño y estilos SRL 9860003456 435894
0004 House Center SAC 4536748998 456787
0005 Mundo Informático SA 3456738344 453677
0006 Corporación del Bosque SAC 2633295844 334456
Clave primaria Claves únicas
Tabla: ClienteClaves candidatas
Ejemplo de claves foráneas
Codigo Nombre
01 Agronomía
02 Biología
03 Administración
Tabla: Escuela
Codigo Nombre CodigoEscu
945678B RAMIREZ/LOPEZ/VERONICA 01
956473C FERNANDEZ/TORRES/MANUEL 02
990045A LISBOA/CARDENAS/TOMAS 01
034563B GUINEA/ESTELA/MARIA 03
035466J CARMONA/AQUILAR/LUIS 03
057839D DIAZ/CHAVEZ/MARCELA 02
Tabla: Alumno
Clave primaria
Clave primaria Clave foránea
Desarrollo de una Base de Datos
Captura y análisis derequisitos
Diseño Lógico
Diseño Físico
Construcción de Basede Datos
Carga de Datos
Selección del DBMS
-
8/18/2019 Fundamentos Base Datos
12/12
27/01/
Servidor de base de datos
Computadora donde esta instalado el DBMS
NULL
Valor especial que puede tomar una columna en una fila cuando se
desconoce dicho valor
Bases de datos distribuidas
Bases de datos dividida en partes y donde cada una de ellas se ubica
en diferentes computadoras
Migración de base de datos
Paso de datos de una fuente de datos a una base de datos
Algunos términos adicionales … Apuntes del curso
http://es.wikipedia.org/wiki/Modelo_relacional
http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
http://es.wikipedia.org/wiki/Dependencia_funcional
http://es.wikipedia.org/wiki/L%C3%B3gica_de_primer_orden
http://es.wikipedia.org/wiki/Inferencia
Bibliografía