Bases de Datos I 2018

November 12, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Bases de Datos I 2018...

Description

Base de Datos I

1

BASES DE DATOS I INGENIERÍA DE SISTEMAS

Bases de Datos I sfs

2 © Corporación Universitaria Remington Quinta edición 2018

Bases de Datos I Luisa María Jiménez Ramos, Guiovanny A. Cárdenas Flórez Facultad de Ciencias Básicas e Ingeniería Editorial Uniremington Medellín, Colombia Derechos Reservados Primera Segunda Tercera Cuarta Quinta

edición: edición: edición: edición: edición:

2011 2012 2015 2016 2018

Responsables Jorge Mauricio Sepúlveda Castaño Decano de la Facultad de Ciencias Básicas e Ingeniería [email protected] Francisco Javier Álvarez Gómez Coordinador CUR-Virtual [email protected] Edición y Montaje Vicerrectoría de Educación a Distancia y Virtual Equipo de diseño gráfico www.uniremington.edu.co [email protected] Derechos reservados: El módulo de estudio del curso de BASE DE DATOS I es propiedad de la Corporación Universitaria Remington; las imágenes fueron tomadas de diferentes fuentes que se relacionan en los derechos de autor y las citas en la bibliografía. El contenido del módulo está protegido por las leyes de derechos de autor que rigen al país. Este material tiene fines educativos y no puede usarse con propósitos económicos o comerciales. El autor(es) certificó (de manera verbal o escrita) No haber incurrido en fraude científico, plagio o vicios de autoría; en caso contrario eximió de toda responsabilidad a la Corporación Universitaria Remington y se declaró como el único responsable.

Esta obra es publicada bajo la licencia Creative Commons. Reconocimiento-No Comercial-Compartir Igual 2.5 Colombia

Bases de Datos I sfs

3

TABLA DE CONTENIDO Pág.

1

UNIDAD 1 INTRODUCCIÓN Y CONCEPTUALIZACIÓN

7

1.1 TEMA 1 DEFINICIÓN, HISTORIA Y CONCEPTOS CLAVES DE LAS BASES DE DATOS. 1.1.1 TALLER DE ENTRENAMIENTO 1.1.2 HISTORIA 1.1.3 TIPO DE BASES DE DATOS 1.1.4 MODELOS DE BASES DE DATOS 1.1.5 TALLER DE ENTRENAMIENTO 1.1.6 SISTEMAS DE GESTIÓN DE BASES DE DATOS (SGBD)

7 7 8 9 12 14 14

1.2 TEMA 2 MOTORES DE BASES DE DATOS 1.2.1 ORACLE 1.2.2 SQL SERVER 1.2.3 POSTGRESQL 1.2.4 MYSQL 1.2.5 TALLER DE ENTRENAMIENTO

15 16 16 17 18 18

1.3 TEMA 3 EL LENGUAJE SQL 1.3.1 COMANDOS 1.3.2 CLÁUSULAS 1.3.3 OPERADORES 1.3.4 COMPARACIÓN 1.3.5 FUNCIONES 1.3.6 LENGUAJE SQL Y EL MOTOR DE BASE DE DATOS MYSQL

19 19 20 20 20 21 21

2

22

UNIDAD 2 MODELANDO BASES DE DATOS

2.1 TEMA 1 MODELO ENTIDAD RELACIÓN 2.1.1 ELABORAR UN MODELO ER 2.1.2 NORMALIZACIÓN

23 25 26

2.2 TEMA 2 ESTRUCTURA DE UNA BASE DE DATOS 2.2.1 CREACIÓN DE UNA BASE DE DATOS. 2.2.2 CREACIÓN DE TABLAS. 2.2.3 RELACIÓN DE TABLAS. 2.2.4 EJERCICIO DE APRENDIZAJE 2.2.5 TALLER DE ENTRENAMIENTO

30 33 34 37 39 39

2.3 TEMA 3 INSTRUCCIONES DE MANIPULACIÓN DE DATOS. 2.3.1 TALLER DE ENTRENAMIENTO

40 44

2.4

44

3

TEMA 4 INSTRUCCIONES PARA LA RECUPERACIÓN DATOS.

UNIDAD 3 GOBERNABILIDAD Y GESTIÓN DE UN MOTOR DE BASE DE DATOS

49

Bases de Datos I sfs

4

3.1 TEMA 1 FUNCIONES EN CASCADA, RELACIONES Y PROCEDIMIENTO DE ALMACENAMIENTO. 3.1.1 EJERCICIO DE APRENDIZAJE: 3.1.2 RELACIONES 3.1.3 OTRAS FUNCIONES 3.1.4 SUBCONSULTAS 3.1.5 PROCEDIMIENTOS ALMACENADOS:

49 50 55 55 57 58

3.2

62

TEMA 2 TRIGGERS

4

GLOSARIO

65

5

BIBLIOGRAFÍA

67

Bases de Datos I sfs

5

PROPÓSITO GENERAL

BASES DE DATOS I

El propósito del curso está orientado a que los estudiantes logren comprender los conceptos esenciales de Base de Datos, modelo relacional, normalización de una base de datos con el fin de aplicar gobernabilidad en la información y manipulación de datos.

Bases de Datos I sfs

6

BASES DE DATOS I OBJETIVO GENERAL Desarrollar las competencias necesarias para la realización de propuestas de solución de bases de datos bajo la reglamentación de normalizaciones formales, acatando todos los parámetros en que se basa la construcción de software de alta calidad.

OBJETIVOS ESPECÍFICOS 

Identificar los conceptos y la terminología implementada en la construcción de base de datos, haciendo uso de buscadores y meta buscadores que orienten la aprehensión conceptual de la temática abordada.

 Implementar

soluciones de bases de datos desde una problemática planteada haciendo uso del modelo, entidad, relación, modelo relacional y la normalización de las tablas en busca de optimizar recursos.

 Aplicar las sentencias de consulta de bases de datos de manera simple y compleja para la gobernabilidad de la misma por medio de un sistema motor de base de datos.

UNIDAD 1

UNIDAD 2

UNIDAD 3

Introducción y Conceptualización

Modelando Bases de Datos

Gobernabilidad y Gestión de un motor de Bases de Datos

Bases de Datos I sfs

7

1

UNIDAD 1 INTRODUCCIÓN Y CONCEPTUALIZACIÓN

Las bases de datos pertenecen al campo de la ingeniería de software y hoy en día son la base fundamental para el desarrollo de sistemas de información que dan solución a las necesidades de las organizaciones a nivel mundial. Durante esta unidad se presenta la definición, historia y conceptos básicos de las bases de datos, lo que permitirá entrar en el mundo de la gestión y procesamiento de la información.

1.1 TEMA 1 DEFINICIÓN, HISTORIA Y CONCEPTOS CLAVES DE LAS BASES DE DATOS. Las bases de datos son una colección de datos relacionados entre sí que combinados entre si ofrecen información valiosa para una organización o persona. Los datos almacenados se encuentran dispuestos en un solo lugar, de tal forma que esto permita el acceso a los mismos desde múltiples ubicaciones siendo un recurso corporativo compartido que provee información valiosa para el correcto funcionamiento de los procesos y procedimientos de una institución.

TIPS Base de datos: colección de datos relacionados

1.1.1 TALLER DE ENTRENAMIENTO HISTORIA Y EVOLUCIÓN BASES DE DATOS El siguiente taller de entrenamiento se propone para validar la aprehensión de los conceptos. Se debe leer detenidamente la pregunta propuesta y dar respuesta a ella. 1. Después de revisar el video y el enlace propuesto sobre la historia y evolución de las bases de datos, determine los actores y aportes más importantes realizados en cada década.

Bases de Datos I sfs

8

1.1.2 HISTORIA La historia de las bases de datos está determinada por su evaluación en cada década y por los principales actores de cada momento. Actualmente, las bases de datos están teniendo un impacto decisivo sobre el creciente uso de las computadoras y el apoyo que estas ofrecen a las organizaciones como factor de decisión. Las Décadas más importantes son 1950, 1960, 1970, 1980, 1990 y 2000.

TIPS La llegada del internet fue crucial para la evolución de las bases de datos

Imagen 1. Historia de la base de datos

Fuente. Elaboración del autor

Las bases de datos surgen a principios de los años 50 con la aparición de las cintas magnéticas y el sistema de ficheros; posteriormente en los 60 se crean los discos magnéticos que permitían el acceso a la información de forma selectiva lo que dio paso a las bases de datos jerárquicas y en red. Las bases de datos relacionales surgen en los 70 como respuesta a una serie de análisis de IBM el cual a su vez lanza el primer motor de base de datos llamado DB2 en los 80. En la siguiente década, aparecen las bases de datos paralelas, las bases de datos orientadas a objetos y las bases de datos

Bases de Datos I sfs

9

distribuidas, danto paso a una nueva era de almacenamiento de la información y su articulación con el internet. Finalmente, en la era moderna del nuevo milenio, las bases de datos multidimensionales y los cubos de información dieron soporte al software de decisión que hoy en día es el centro de toma de decisiones gerenciales de las grandes empresas a nivel mundial.

TIPS IBM: International Business Machines, fundada en 1911; seis de sus empleados han recibido Premio Nobel por sus investigaciones en información.

1.1.3 TIPO DE BASES DE DATOS Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan. Las bases de datos se clasifican de acuerdo a su generación, es decir desde su creación; no obstante, actualmente las más utilizadas son las distribuidas y multidimensionales ya que podría decirse que son la evolución y contienen a su vez las demás generaciones. Existen diversos tipos de base de datos y su ordenamiento depende de cada usuario; por lo tanto, podemos encontrar diversas opiniones en la red sobre cómo deben o no organizarse. El objetivo de este curso no es diferir o acordar estos tipos de base de datos sino conocer lo más posible para tener una apreciación global de cómo funcionan y porque serán la base para el desarrollo de la ingeniería de sistemas. Imagen 2. Generaciones de las bases de datos

Bases de Datos I sfs

10

Fuente. Elaboración del autor

Según la variabilidad de los datos se puede decir que existen dos tipos de base de datos, las bases de datos estáticas y las dinámicas Tabla 1. Bases de datos según la variabilidad de los datos

Bases de datos estadísticos

Son bases de datos únicamente de lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para:  Estudiar el comportamiento de un conjunto de datos a través del tiempo,  Realizar proyecciones,

Bases de Datos I sfs

11

 Tomar decisiones y  Realizar análisis de datos para inteligencia empresarial. Son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como:

Bases de datos dinámicas

 Actualización  Borrado  Consulta

Fuente. Elaboración del autor

Según el contenido existen bases de datos geográficas, deductivas, documentales, entre otras.

Tabla 2. Bases de datos según el contenido

Bases de datos geográficos

Son bases de datos que permiten realizar un proceso de indexación de texto para agilizar los procesos de búsqueda; esto permite realizar solicitudes complejas con gran rapidez en documentos de gran longitud.  Consulta bibliográfica  Google académico

 Bases de datos digitales de educación

Bases de datos deductivos

Son bases de datos que permiten realizar un proceso de indexación de texto para agilizar los procesos de búsqueda; esto permite realizar solicitudes complejas con gran rapidez en documentos de gran longitud.  Consulta bibliográfica  Google académico

 Bases de datos digitales de educación

Bases de datos documentales

Son bases de datos que permiten realizar un proceso de indexación de texto para agilizar los procesos de búsqueda; esto permite realizar solicitudes complejas con gran rapidez en documentos de gran longitud.  Consulta bibliográfica  Google académico

 Bases de datos digitales de educación Fuente. Elaboración del autor

Bases de Datos I sfs

12

Los tipos de base de datos más utilizados a través del tiempo se basan en modelos, por tal razón su nombre clasificatorio: jerárquicas, en red, relacionales y orientadas a objetos, juntas forman lo que llamamos la nueva generación de base de datos (cuarta generación) que son las multidimensionales que permiten por medio de cubos de información acceder a datos estadísticos para la toma de decisiones, lo que hoy llamamos Inteligencia de Negocios.

 Video: Tipo de bases de datos  ”Ver Video”: https://www.youtube.com/watch?v=ShxPfRPRKZ8

1.1.4 MODELOS DE BASES DE DATOS Además de la clasificación por la función de las bases de datos, éstas también se pueden catalogar de acuerdo a su modelo de administración de datos. Un modelo de datos es básicamente una "descripción" del contenedor de datos (lugar donde se almacena la información) y de los métodos para almacenar o recuperar los datos que se encuentran en ese contenedor. Los modelos de datos no son cosas físicas, son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general, hacen referencia a algoritmos y conceptos matemáticos.

MODELO

CARACTERÍSTICAS

Jerárquico

En este modelo los datos se organizan en forma de árbol invertido (algunos dicen raíz), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

En red

Éste es un modelo ligeramente distinto al jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).

Bases de Datos I sfs

13

Relacionales

Éste es el modelo utilizado en la actualidad para representar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).

Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

Orientado a objetos

 Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.  Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases. Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.

Multidimensionales

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean aprender. En algunos casos estas bases de datos utilizan la orientación a objetos para la toma de decisiones.

Bases de Datos I sfs

14

1.1.5 TALLER DE ENTRENAMIENTO TIPOS DE BASES DE DATOS El siguiente taller de entrenamiento se propone para validar la aprehensión de los conceptos. Se debe leer detenidamente las preguntas propuestas y dar respuesta a ellas. 1. Establezca la diferencia entre bases de dato dinámica y base de dato estática. 2. Enuncie la importantica que tienen los tres tipos de bases de datos vistas anteriormente.

1.1.6 SISTEMAS DE GESTIÓN DE BASES DE DATOS (SGBD) Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información; además, proporciona herramientas para añadir, eliminar, actualizar y dar análisis a los datos. además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos.

 Video: Sistemas de Gestión de Base de Datos (SGBD)  ”Ver Video”: https://www.youtube.com/watch?v=L4WB2Tt55hs Los SGBD, también permiten mantener la integridad de los datos, administrar el acceso de usuarios a los datos y métodos de recuperación de información en caso de errores, presentar la información de la base de datos en variados formatos y la mayoría incluyen un generador de informes. En algunas ocasiones estos SGBD, cuentan con interfaces que permiten la elaboración de tablas y gráficos estadísticos. En el proceso de construcción de una base de datos se recopilan los datos en algún medio de almacenamiento permitiendo hacer las transacciones básicas con ellos tales como:  Funciones de consulta.  Funciones de actualización.  Funciones de Eliminación entre otros. Los sistemas de gestión de bases se clasifican según ciertos aspectos, como el modelo, los usuarios, el acceso y el ámbito de la aplicación; de igual manera cada una de estas divisiones tiene unas subdivisiones específicas y propios de cada una de ellas.

Bases de Datos I sfs

15

Imagen 3. Mediación de un sistema de gestión de base de datos

Fuente. Elaboración del autor

TIPS Un SGBD le proporciona al usuario un entorno gráfico para dar acceso a la información de una o múltiples bases de datos.

1.2 TEMA 2 MOTORES DE BASES DE DATOS Para el manejo y gestión de base de datos existen varios motores que se usan dependiendo el tamaño y tipo, además de la integridad que se exige, pues hay algunas bases de datos que requieren mayor seguridad que otras todo esto depende para que están siendo usadas. El Motor de base de datos es el servicio principal para almacenar, procesar y proteger los datos. El Motor de base de datos proporciona acceso controlado y procesamiento de transacciones a través del SGBD para lograr manipular adecuadamente la información.

Bases de Datos I sfs

16

El motor de base de datos se usa para crear bases de datos relacionales, para el procesamiento de transacciones o datos de procesamiento analíticos en línea. Se pueden crear tablas para almacenar información y objetos como índices, vistas y procedimientos almacenados para ver, administrar y proteger los datos. Generalmente los SGBD incluyen un motor que permite el acceso a la base de datos mediante una interfaz gráfica.

 Video: Los mejores motores de bases de datos  “Ver Video”: https://www.youtube.com/watch?v=UV3-7kh2odw 1.2.1 ORACLE ORACLE® es un sistema de gestión de base de datos creado por la compañía ORACLE Corporation, este sistema incluye un motor que mediante una interfaz gráfica permite el acceso a la información contenida por las bases de datos. Este software es muy utilizado en grandes compañías que manejan información a gran escala ya que es un sistema muy robusto y seguro para la manipulación de los datos. Imagen 4. Logo SGBD ORACLE

Fuente. www.oracle.com

Oracle es considerado uno de los sistemas más completos del mercado, sin embargo, igualmente es uno de los más costosos. Este sistema se destaca por dar un soporte transaccional, estabilidad, escalabilidad, multiplataforma y se le permite interactuar con sistemas operativos como Linux y Microsoft.

1.2.2 SQL SERVER SQL server es un sistema gestor de base de datos creado por la compañía Microsoft; este sistema cliente servidor, permite soportar transacciones, gestionar procedimientos almacenados.

Bases de Datos I sfs

17

Inicialmente disponible para Windows Server, hoy en día es utilizado también en servidores Linux. Este sistema es robusto y permite realizar manejo de una gran cantidad de información. Imagen 5. Logo SGBD SQL Server

Fuente. www.microsoft.com

1.2.3 POSTGRESQL PostgreSQL es un sistema de gestión de base de datos de código libre, es decir no es elaborado por una organización, sino, por un grupo de personas denominadas comunidad cuyo único interés es aportar al desarrollo de las tecnologías. Este sistema permite el acceso múltiple a las tablas, es decir realizar consultas y modificar datos al mismo tiempo sin problema, también facilita la utilización de grandes extensiones de texto y su característica más destacada es que permite crear nuevos tipos de datos. Imagen 6. Logo SGBD PostgreSQL

Fuente. www.postgresql.org

Bases de Datos I sfs

18

1.2.4 MYSQL MYSQL es un sistema de código abierto para el manejo de bases de datos, aunque a diferencia de otros, este maneja una licencia dual; es decir, una licencia gratuita que tiene todas las funcionalidades y una privada cuyo dueño es la compañía ORACLE, la cual además de contar con las funcionalidades cuenta con un soporte técnico permanente además de herramientas de monitoreo. Este es el sistema más utilizado en el mundo por su versatilidad y compatibilidad sobre todo para aplicaciones de tipo web ya que se integra perfectamente con lenguajes como PHP y HTML5. Imagen 7. Logo SGBD MYSQL

Fuente. www.mysql.com

1.2.5 TALLER DE ENTRENAMIENTO MOTORES DE BASES DE DATOS El siguiente taller de entrenamiento se propone para validar la aprehensión de los conceptos. Se debe leer detenidamente las preguntas propuestas y dar respuesta a ellas. Realice un paralelo entre los dos motores de Mysql más utilizados (MyISAM e InnODB) y ubique sus ventajas y desventajas.

Bases de Datos I sfs

19

1.3 TEMA 3 EL LENGUAJE SQL Tal y como sucede con los lenguajes de programación, las bases de datos también cuentan con un lenguaje que permite la comunicación entre el usuario (programador) y el SGBD, este lenguaje se denomina SQL (Structured Query Languaje), que traduce lenguaje estructurado de consulta. SQL a su vez cuenta con unas funcionalidades o sub lenguajes que permiten la realización de operaciones en la base de datos: • Manipulación de datos: Las sentencias utilizadas para realizar estas acciones son SELECT (seleccionar), INSERT (insertar), UPDATE (Actualizar) y DELETE (borrar). • Definición de datos: Las sentencias utilizadas son DROP (eliminar objetos) y CREATE (crear objetos). • Control de los datos: Para controlar los datos se usan los comandos GRANT(garantizar) y REVOKE (revocar); esto permite gestionar el acceso a la información de la base de datos. • Control de las transacciones: con el objetivo de realizar la ejecución de varios comandos en simultaneo, se utilizan los comandos COMMIT (comprometer) y ROLLBACK (reversar) cuando se requiere deshacer la ejecución realizada. Cada uno de estos sub lenguajes, cuentan con palabras reservadas que permiten disparar la función a la que están asociadas. Estas palabras no se pueden modificar y tienen en algunos casos sintaxis opcionales que permiten realizar transacciones dentro de las bases de datos.

1.3.1 COMANDOS En SQL, existen comandos que permiten crear y definir bases de datos, tablas y campos; así mismo, otros permiten generar consultas para extraer datos, ordenarlos, filtrarlos y manipularlos en general. Dentro de los comandos de creación, están:  CREATE: crea tablas nuevas y campos  DROP: elimina tablas e índices  ALTER: modifica tablas, agregando campos o cambiando su naturaleza Los comandos de consultas son:  SELECT: consulta registros de la base de datos  INTER: carga datos a las tablas

Bases de Datos I sfs

20

 UPDATE: modifica o actualizar los datos  DELETE: elimina registros de una base de datos

1.3.2 CLÁUSULAS Las cláusulas son condiciones que se utilizan en conjunto con los comandos para poder explicitar las características de la transacción que se va a realizar en la base de datos. Estas cláusulas son:     

FROM: permite especificar la tabla en la cual se van a tratar los registros WHERE: especifica las condiciones que deben reunir los registros GROUP BY: separa los registros en grupos HAVING: expresa la condición que debe cumplir cada grupo ORDER BY: ordena los registros seleccionados de acuerdo con una condición

1.3.3 OPERADORES Los operadores son aquellos que permiten realizar comparaciones o condiciones para ser aún más específicos en la transacción. Algunos son:  AND: es el “y” del español, toma dos condiciones y devuelve un valor verdadero si ambas se cumplen  OR: es el “o” del español, toma dos condiciones y devuelve un valor verdadero si alguna de las dos se cumple  NOT: es el “no” del español, devuelve un valor contrario a la expresión

1.3.4 COMPARACIÓN Los operadores de comparación son los mismos que se utilizan en matemáticas, adicionando uno u otro extra que permite realizar aún más procesos comparativos. Estos son:  < menor que  > mayor que  = igual que  diferente de

Bases de Datos I sfs

21

    

=< menor o igual >= mayor o igual BETWEEN: entre dos valores LIKE: como o parecido a IN: dentro de

1.3.5 FUNCIONES Las funciones de agregado se usan con la cláusula SELECT con el objetivo de retornar un valor de acuerdo con un grupo de registros:     

AVG: promedio de valores COUNT: cuenta el número de registros SUM: suma todos los valores MAX: devuelve el valor más alto MIN: devuelve el valor más bajo

1.3.6 LENGUAJE SQL Y EL MOTOR DE BASE DE DATOS MYSQL Durante este curso, se seleccionará uno de los motores de base de datos vistos anteriormente y en él se desarrollarán las diferentes actividades de manejo de base de datos mediante la utilización del lenguaje SQL; si bien es cierto existen motores y manejadores de base de datos de muy alta complejidad, el más utilizado en el mundo es Mysql debido a que utiliza una interfaz muy sencilla y práctica; quizás su característica más importante es que es de código libre, lo que permite su instalación sin ningún tipo de licencia que haya que comprar. Para realizar las actividades propuestas durante el desarrollo del curso, se sugiere realizar la instalación del paquete “XAMPP” el cual instala un grupo de sistemas, para utilizar el lenguaje PHP, MYSQ, TOMCAT y otros que permitirán profundizar los conocimientos en base de datos.

 Video: Introduction to XAMPP  “Ver Video”: https://www.youtube.com/watch?v=h6DEDm7C37A&feature=youtu.be

Base de Datos I

22

2 UNIDAD 2 MODELANDO BASES DE DATOS Las bases de datos se pueden diseñar utilizando como base el modelo entidad – relación. Esta representación gráfica de la base de datos y sus tablas, permite definir entidades, atributos y relaciones que más adelante se plasman en el motor del manejador de base de datos para poder hacer el llenado de información y posteriormente manipular transaccionalmente la misma.

CONCEPTOS BÁSICOS: 1. Modelos de Bases de Datos: Una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores.

2. Modelo Entidad – Relación (ER): Una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información, así como sus interrelaciones y propiedades.

3. Normalización: Proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que además de ser más simples y más estables, son más fáciles de mantener.

Bases de Datos I sfs

23

2.1 TEMA 1 MODELO ENTIDAD RELACIÓN El diagrama o modelo entidad-relación (ER) es una representación gráfica que representa las entidades relevantes de un sistema. Los diagramas son utilizados generalmente para modelar bases de datos, sistemas de información empresarial, gestión de procesos de negocio, investigaciones, entre otros. Los diagramas ER, utilizan símbolos como rectángulos, diamantes, óvalos y líneas que representan la conexión entre entidades.

TIPS S El modelo

ER fue propuesto por Peter Chen del Instituto Tecnológico de Massachusetts (MIT) en los 70 al publicar un documento llamado "Modelo entidad-relación: hacia una visión unificada de los datos".

El modelo entidad relación ER se compone de entidades, relaciones y atributos que permiten organizar la lógica de la base de datos.  Entidades: Las entidades representan personas, objetos, conceptos o eventos diferenciados entre sí; esos pueden representarse como si fuesen sustantivos (cliente, estudiante, auto, producto) y generalmente se representan con un rectángulo.

ENTIDAD  Atributos: los atributos definen o identifican las propiedades o características de la entidad. Una muestra de los atributos de la entidad “estudiante” sería la identificación, edad, nombre, dirección, entre otras. Las entidades se representan gráficamente con un óvalo.

Bases de Datos I sfs

24

ATRIBUTO  Relación: permiten mostrar los vínculos o interacciones de unas y otras entidades representando una acción. Un estudiante se “inscribe” en un curso, donde la acción representa la relación. Las relaciones se representan con un diamante.

RELACIÓN

CARDINALIDAD La Cardinalidad define el tipo de relación que tienen dos atributos (uno a uno, uno a muchos o muchos a muchos). Un ejemplo de uno a uno es un estudiante tiene un código; uno a muchos sería un curso tiene muchos estudiantes; muchos a muchos, muchos estudiantes tienen muchos profesores y muchos profesores tiene muchos estudiantes. La Cardinalidad se representa de diversas maneras cada una tan válida como la otra. Estas representaciones están dadas por diversos autores que en su mayoría reemplazan la relación por la cardinalidad únicamente, pero sin perder la esencia del ejercicio.

 Barker’s

Bases de Datos I sfs

25  Chen

 Bachman

Existen otras formas de representar la cardinalidad, pero son poco utilizadas, esto depende de la selección del autor del diagrama ER.

2.1.1 ELABORAR UN MODELO ER Partiendo de un caso práctico, se deben tener en cuenta una serie de recomendaciones para realizar un modelo o diagrama ER.

CASO “Se tiene un taller mecánico en donde se manejan carros y empleados; es importante tener en cuenta que para los autos se requiere el número del chasis, matrícula, número de identificación del propietario, marca y modelo. Por otro lado, para los empleados se requiere nombre, número de identificación y cargo. Un carro puede ser reparado por muchos empleados según sea el daño presentado.”

Bases de Datos I sfs

26

Análisis: Una vez leído el caso detenidamente se debe tener en cuenta los siguientes aspectos:  Las posibles entidades (Carros y empleados).  Selección de los atributos. Carros (número de chasis, matrícula, número de identificación del propietario, marca y modelo) Empleados (nombre, número de identificación y cargo).  Análisis las relaciones. Un carro es reparado por empleados.  Definición de cardinalidad. Uno a muchos Diseño: Para lograr el diseño del modelo ER, se debe definir la cardinalidad a utilizar, que para el caso de este curso se ha seleccionado la de Barker’s.

2.1.2 NORMALIZACIÓN La normalización utiliza una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos. La normalización también hace las cosas fáciles de entender. Los seres humanos tenemos la tendencia de simplificar las cosas al máximo. Lo hacemos con casi todo, desde los animales hasta con los automóviles. Vemos una imagen de gran tamaño y la hacemos más simple agrupando cosas similares juntas. Las guías que la normalización provee crean el marco de referencia para simplificar una estructura de datos compleja.

Bases de Datos I sfs

27

La normalización de base de datos también permite optimizar el consumo de espacio. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco. El proceso de normalización tiene un nombre y una serie de reglas para cada fase, las cuales generalmente se dividen en tres niveles:  Primera Forma Normal (1NF): Establece que las columnas o grupos repetidos deben eliminarse, por ejemplo, una base de datos que tenga dos columnas iguales.

Cuando exista una tercera especialidad se tendría que agregar otro campo a la base de datos y modificar el código fuente del sistema de información lo que generará muchos inconvenientes; igualmente los campos deben ser “atómicos”, es decir, no debe permitir una división en su contenido como por ejemplo la fila nombre; este contiene los apellidos, por lo tanto, se puede dividir. Para este caso, se debe crear un campo nombre y otro apellido. De acuerdo con lo anterior, la primera forma normal, elimina la especialidad2, dejando una sola y divide el campo nombre en dos.

Bases de Datos I sfs

28

 Segunda Forma Normal (2NF): La segunda forma normal 2NF, se asegura que todas las columnas que no son llaves, dependan completamente de la llave primaria (PK), en este caso la columna cédula sería la llave principal o primaria (PK)

Al definir la cédula como llave principal, no se podría aceptar dos médicos con la misma cédula con diferente especialidad; en este caso lo que se hace es crear una tabla que contenga la especialidad y que se relacione directamente con la tabla médico.

De esta manera, cada especialidad tendrá un nombre y código único el cual estaría relacionado dentro de la tabla médico como una llave foránea (FK).  Tercera Forma Normal (3NF): Es aquella que evita los campos calculados como el caso de la edad, la cual depende de la fecha de nacimiento ya que a partir de este campo se puede calcular la edad.

Bases de Datos I sfs

29

En este caso, la edad es un campo que depende de la fecha de nacimiento, por lo tanto, debe ser eliminado. No se puede caer en el error de eliminar la fecha de nacimiento porque cuando se consulte la información el próximo año esta ha cambiado, pero no se cuenta con ningún valor para poder calcularlo como si es el caso de tener la fecha de nacimiento.

Cada una de estas formas tiene sus propias reglas. Cuando una base de datos se conforma a un nivel, se considera normalizada a esa forma de normalización. No siempre es una buena idea tener una base de datos conformada en el nivel más alto de normalización, puede llevar a un nivel de complejidad que pudiera ser evitado si estuviera en un nivel más bajo de normalización.

TIPS La normalización permite optimizar el espacio que ocupa la base de datos y permitir la realización de consultas más ágiles y sin redundancia de datos.

Bases de Datos I sfs

30

2.2 TEMA 2 ESTRUCTURA DE UNA BASE DE DATOS La estructura de base de datos se genera dentro del sistema gestor de base de datos SGBD. Como se mencionó en la anterior unidad, para este curso se utilizará el sistema MySQL el cual es gratuito. Para instalar el Mysql, se requiere poseer un servidor donde se almacene la información, pero para este caso se realizará un servidor simulado por medio de la aplicación también gratuita Xampp (https://www.apachefriends.org) La instalación del Xampp es muy sencilla, simplemente se siguen las instrucciones y se inicia el sistema, teniendo en cuenta que es necesario activar los servicios primero para poder acceder a la interfaz de gestión de base de datos.

Se proceden a iniciar los servicios que en este caso corresponden al servidor (apache) y al MySQL.

Bases de Datos I sfs

31

Una vez se inician los servicios se ingresa a la interfaz por medio del enlace administrar

Bases de Datos I sfs

32

Ahora ya es posible acceder a la interfaz de phpMyAdmin.

Bases de Datos I sfs

33

2.2.1 CREACIÓN DE UNA BASE DE DATOS. Para crear la base de datos en PHPMyAdmin es necesario hacer clic en la opción “nueva” ubicada en la columna principal de la izquierda.

Seguidamente el sistema solicitará el nombre de la nueva base de datos.

Una vez digitado el nombre, se da clic en crear y la nueva base de datos aparecerá en la columna izquierda del sistema junto con las demás existentes.

Bases de Datos I sfs

34

TIPS Otra forma de crear una base de datos es por cuadro de comandos o consola, para lo cual se debe utilizar código.

2.2.2 CREACIÓN DE TABLAS. Para crear una tabla dentro de la base de datos es necesario seleccionar la misma en la columna de la izquierda e inmediatamente después aparecerá la opción de crear tabla. Por ejemplo, se va a proceder a crear una tabla llamada “usuarios” que va a tener 4 columnas de la siguiente manera:

Bases de Datos I sfs

35

E0l siguiente paso será añadir las columnas a la tabla, en el ejemplo, se crea un campo llamado “id_usuario” el cual será de tipo entero, de longitud 11 y autoincrementable; seguidamente, se crean tres campos llamados nombre, apellido y email los cuales serán de tipo varchar y con longitud de 50 cada uno.

TIPS Se puede ver la sentencia SQL haciendo clic en el botón “previsualizar SQL” ubicado al lado del botón guardar en la esquina inferior derecha.

Bases de Datos I sfs

36

la interfaz de PHPMyAdmin, permite realizar el proceso anterior por el espacio de consulta utilizando las palabras reservadas para crear la tabla. La sentencia SQL sería: CREATE TABLE `nueva_base_de_datos`.`usuarios` ( `id_usuario` I NT(11) NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(50) NOT NULL, `apellido` VARC HAR(50) NOT NULL, `email` VARCHAR(50) NOT NULL, PRIMARY KEY (`id_usuario`) ) ENGINE =InnoDB; Si se escribe la sentencia anterior sobre la consola del PHPMyAdmin, se crea igualmente la tabla tal y como se evidencia en la siguiente imagen:

Es muy importante definir la llave primaria (PRIMARY KEY) para iniciar el proceso de normalización y evitar la redundancia de datos.

TIPS Existen dos formas de crear las tablas, usando la interfaz gráfica y por consola dentro del mismo PhpMyAdmin.

Bases de Datos I sfs

37

 Video: Crear una base de datos en mysql con phpmyadmin  ”Ver Video”: https://www.youtube.com/watch?v=prKM0E_GSrQ 2.2.3 RELACIÓN DE TABLAS. Llave primaria (PRIMARY KEY) Es una columna o un conjunto de columnas que identifican unívocamente a cada fila. Debe ser única, no nula y obligatoria. Se sugiere definir una clave primaria por tabla. Cuando se crea una clave primaria, automáticamente se crea un índice que facilita el acceso a la tabla. Para la creación de una llave primaria por código se utiliza la siguiente sentencia: "ALTER TABLE

`nombre_tabla` ADD PRIMARY KEY(`Codigo`);" Es importante recordar que al crear la tabla también se puede asignar la llave principal bien sea por código o por la interfaz gráfica.

Llave foránea (FOREIGN KEY) Está formada por una o varias columnas que están asociadas a una clave primaria de otra o de la misma tabla. Se pueden definir tantas llaves foráneas como se precise y pueden estar o no en la misma tabla que la llave primaria. El valor de la columna o columnas que son llaves foráneas debe ser: NULL o igual a un valor de la clave referenciada (regla de integridad referencial). La sintaxis de creación de una llave foránea es: “FOREIGN KEY(codigo_fk) REFERENCES nombre_tabla (nombre_campo);”

Bases de Datos I sfs

38

TIPS Diferencias entre llave primaria y foránea: Primaria: generalmente existe una por tabla, debe ser única, indexada y no admite valores nulos. Foránea: Hace referencia a una llave primaria pueden existir una o muchas por tabla y debe ser indexada.

Único (UNIQUE): Es una propiedad del campo de una tabla que evita datos duplicados, es decir solo acepta valores únicos e irrepetibles como por ejemplo el número de cédula; esto evita que se ingresen dos números iguales. Índice (INDEX): Es una estructura de datos que mejora la velocidad de las operaciones, por medio de identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drásticamente la velocidad de acceso, se suelen usar, sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas. El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos.

 Video: Asignación de claves foráneas en MySQL  ”Ver Video”: https://www.youtube.com/watch?v=vDavXgtPNA4  Video: Relación de Tablas en MySQL  ”Ver Video”: https://www.youtube.com/watch?v=nw03AitInzg  Video: Relacionar dos tablas en MySQL  ”Ver Video”: https://www.youtube.com/watch?v=-pCF737jyLY Atributos adicionales de un campo perteneciente a una tabla. NULL: Si se agrega este atributo, el campo aceptará valores nulos o vacíos

Bases de Datos I sfs

39

NOT NULL: una vez seleccionado este atributo, no se permitirán valores nulos o vacíos, en cuyo caso genera error cuando se intente dejar este campo en blanco. AUTO_INCREMENT (AI): genera un numero consecutivo automáticamente cuando se insertan valores en los demás campos de la tabla. Se usa para las llaves primarias (PK).

2.2.4 EJERCICIO DE APRENDIZAJE Adicionar Un campo al final de tabla. Para adicionar un campo al final de la tabla se utiliza la siguiente instrucción:

2.2.5 TALLER DE ENTRENAMIENTO CREACIÓN DE TABLAS Y ESTRUCTURAS El siguiente taller de entrenamiento se propone para validar la aprehensión de los conceptos. Se debe leer detenidamente la situación propuesta y dar respuesta a ella.

1. Crear una base de datos denominada empresa. a. Crear una tabla llamada trabajadores con los campos código (int), nombre(char), dirección(varchar), edad(date). b. Crear una tabla llamada cargo con los campos nombre(char) c. Crear una tabla llamada nomina con los campos s_basico(int), deduciones (varchar), s_neto(int).

Realizar: 1. 2. 3. 4.

Agregar a la tabla cargo un campo del código del cargo. Renombrar la tabla trabajadores por empleado. Adicione a la tabla empleado el campo número de hijos antes del campo edad. Eliminar la tabla nómina.

Bases de Datos I sfs

40

2.3 TEMA 3 INSTRUCCIONES DE MANIPULACIÓN DE DATOS. Las instrucciones de manipulación de datos permiten lleva a cabio las tareas de gestión de la base de datos, es decir, eliminar datos, insertar, actualizar, importar información entre otras. Para esto se hace necesario el uso de operadores lógicos, relacionales, aritméticos y especiales. En Mysql los más utilizados son:

Operaciones Relacionales: = Igual

Distinto

>

Mayor que

<

Menor que

>=

Mayor que o Igual que

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF