Fundamentos Base Datos

Embed Size (px)

Citation preview

  • 8/18/2019 Fundamentos Base Datos

    1/12

    27/01/

    Fundamentos de Bases de datosNivelación - 2016

    Ing. Martín Leiva Castillo

    [email protected]

    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