Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO
BASE DE DATOS I.
CUADERNO DE ESTUDIOS
PARA CUARTO NIVEL DE
LA CARRERA: SISTEMAS
INFORMÁTICOS. AUTOR:
ING. ALEJANDRO
MACIAS LARA
CUADERNO DE BASE DE DATOS I
Facultad: Carrera:
Ingenierías Ingeniería en Sistemas Informáticos
Asignatura: Base de Datos I Código: ITICI2124
Profesora: Ing. Alejandro Macías Período académico: IIS- 2022
Lara Mgtr.
Contenido
CUADERNO DE BASE DE DATOS I ................................................................................ 1
DETALLE DEL CONTENIDO DE LA GUÍA .................................................................. 4
Metodología de construcción de la guía ........................................................................... 4
Contenidos....................................................................................................................... 4
Trabajo autónomo ............................................................................................................ 4
Actividades para desarrollar ............................................................................................. 4
Rúbrica con la que se evaluará su trabajo......................................................................... 4
INTRODUCCIÓN ….............................................................................................................. 8
OBJETIVO: .......................................................................................................................... 8
UNIDAD I ............................................................................................................................ 9
Introducción a la base de datos y Sistema gestor de base de datos..................................... 9
Introducción a la base de datos ..................................................................................... .9
Dato e información .................................................................................................... 9
Conocimiento…… .................................................................................................. 10
2
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Tipos de motores de base de datos. ........................................................................... 21
Sistemas Gestores de bases de datos Relacionales (SQL)......................................... 21
Usuarios................................................................................................................... 28
UNIDAD 2 .......................................................................................................................... 29
Modelado de bases de datos............................................................................................. 29
Modelo relacional........................................................................................................ 29
Entidades. ................................................................................................................ 31
Atributos.................................................................................................................. 31
Identificadores......................................................................................................... 31
Tipos de datos.......................................................................................................... 32
UNIDAD 3 ......................................................................................................................... 53
Lenguaje de consulta estructurado SQL......................................................................... 53
Lenguaje sql ............................................................................................................... 53
Lenguaje de definición de datos (DDL). ..................................................................... 53
Create. .................................................................................................................... 53
3
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Alter. ................................................................................................................ 53
Drop. ................................................................................................................ 53
Truncate........................................................................................................... 53
Insert................................................................................................................ 53
Delete............................................................................................................... 53
Update. ............................................................................................................ 53
From. ............................................................................................................... 53
Where. ............................................................................................................. 53
Consultas anidadas........................................................................................... 53
UNIDAD 4 ................................................................................................................... 53
Seguridad base de datos............................................................................................ 54
Niveles de seguridad de los sistemas gestores de base de datos............................ 54
Seguridad en la conexión. .................................................................................... 54
Connect............................................................................................................. 54
Disconnect. ....................................................................................................... 54
Grant................................................................................................................ 54
Revoke............................................................................................................. 54
Commit............................................................................................................. 54
Rollback. .......................................................................................................... 54
4
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
DETALLE DEL CONTENIDO DE LA GUÍA
Estimado estudiante/a, la metodología que utilizaremos en la guía didáctica, implica su
participación activa con el acompañamiento del docente, de manera flexible de acuerdo a la
realidad del estudiante.
CONTENIDOS
Los mismos son obtenidos de la unidad que consta en el silabo y además la planificación
correspondiente realizada para las temáticas a impartir según considere el docente.
TRABAJO AUTÓNOMO
Trabajo que realizará cada estudiante después de las tutorías virtuales según lo indique el
docente.
5
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Rúbrica para evaluar Presentaciones Orales.
Categoría Muy Bueno (2.0) Bueno (1.5) Regular (1.0) Debe mejorar (0.5) Total
Contenido Las ideas principales Información suficiente Hay gran cantidad de información No está claro cuales son las
están claramente que se relaciona con las que no está claramente conectada ideas principales que se
desarrolladas y toda la ideas principales. con las ideas principales. exponen.
información es Algunos temas están No hay orden lógico de
relevante, hay ejemplos bien desarrollados presentación.
apropiados y
conclusiones claras
Creatividad Presentación del Hay algo de originalidad en Poca variedad; el material se Presentación repetitiva con
material muy original y la presentación; variedad y presenta con poca poca o ninguna variación;
variada; aprovecha lo combinación apropiada de originalidad e interpretación empleo insuficiente de
inesperado para captar la materiales y medios. propia. materiales.
atención de la audiencia.
Habilidades Articulación pausada, Articulación pausada, Habla entre diente, discurso Voz inaudible o muy alta, el
expositoras clara; volumen clara; volumen repetitivo, falta claridad y ritmo de la presentación es
apropiado, entusiasmo, apropiado, entusiasmo, concisión. muy lento o rápido,
seguridad. seguridad. discurso poco
Discurso claro, conciso, Algunas ideas poco comprensible.
coherente; estilo propio y claras y concisas.
naturalidad.
Manejo del tiempo Puntualidad al empezar Puntualidad al empezar Puntualidad al empezar la Falta puntualidad en
la presentación y la presentación y presentación, pero no tiene todos empezar la presentación,
previsión del recurso. previsión del recurso. los materiales previstos. Excede no tiene los recursos previstos.
Cumple con el tiempo Excede con el tiempo con el tiempo estipulado. No cumple con el tiempo
estipulado. estipulado. estipulado.
Trabajo en equipo Excelente preparación Preparación previa del Se observa preparación Evidencia que no hay
del tema y participación tema y responsabilidad previa del tema. preparación previa ni
entusiasta y compartida por todos los El trabajo no fue realizado por trabajo en equipo. Baja
comprometida de todos integrantes del equipo. todos los integrantes. calidad de las exposiciones
los integrantes que La mayoría tienen Pocos expositores muestran de los integrantes.
mostraron coordinación y habilidades expositoras. habilidades.
calidad de sus exposiciones.
Calificación
Elementos propios El ensayo cumple claramente con El ensayo cumple con los cuatro criterios El ensayo no cumple con todos los
del ensayo los cuatro criterios de diseño de diseño, pero no con la extensión criterios de diseño planteados o
(Resumen, palabras clave, cuerpo solicitada o bien, estos puntos no han bien no están claramente
del ensayo y referencias sido correctamente realizados ordenados o definidos ni cumple
bibliografías) con la extensión mínima.
Presentación del La presentación/exposición fue hecha en La presentación/exposición fue hecha en La presentación/exposición no fue
ensayo tiempo y forma, además se entregó de tiempo y forma, aunque la entrega no fue hecha en tiempo y forma, además la
forma limpia en el formato pre en el formato pre establecido. entrega no se dio de la forma pre
establecido (papel o digital). establecida por el docente.
Calificación
6
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Rúbrica para evaluar Glosarios.
Categoría 2 puntos 1 punto 0 puntos Total
Profundización del Descripción clara y sustancial del cada Descripción ambigua de los términos, Descripción incorrecta de cada
tema término y aportación personal adecuada. con aportaciones poco significativas. término del esquema, sin
aportaciones personales
Aclaración sobre el Glosario bien organizado y claramente Glosario bien focalizado, pero no Glosario poco claro, sin coherencia
tema presentado, así como de fácil suficientemente organizado. entre las partes que lo componen.
seguimiento.
Alta calidad del Glosario sobresaliente y atractivo que Glosario simple pero bien Glosario mal planteado que no cumple
diseño cumple con los criterios de diseño organizado con al menos tres con los criterios de diseño planteados y
planteados, sin errores de ortografía. errores de ortografía. con más de tres errores de ortografía.
Elementos propios El glosario esta ordenado El glosario no está ordenado y no se El glosario no está ordenado únicamente
del glosario alfabéticamente, con la aportación de un distinguen las aportaciones de los existe una aportación que no se sabe si
autor/diccionario y una aportación autores/diccionario de las aportaciones es de un autor/diccionario o personal.
personal. personales.
Presentación del La selección de los colores y la Los colores y la tipografía usada no Se abusó del uso de colores y tipografías
glosario tipografía usada fueron atractivas, permiten una correcta visualización del y la entrega no se dio de la forma pre
además el glosario se entregó de forma glosario, aunque la entrega fue en el establecida por el docente.
limpia en el formato que determino el formato pre establecido.
docente (papel o digital).
Calificación
Diseño e imagen Uso de imágenes para clarificar el evento, Uso de algunas imágenes en algunos Uso de texto exclusivo en la línea del
fotografías, dibujos videos en caso de ser eventos para clarificar los eventos. tiempo, y uso de tipografías que
digital. dificulta su lectura.
Presentación La selección de los colores y la Los colores y la tipografía usada no Se abuso del uso de colores y
tipografía usada fueron atractivas, además la permiten una correcta visualización tipografías, y la entrega no se dio en
línea del tiempo se entregó de forma limpia de la línea del tiempo, aunque la el tiempo pre establecido por el docente.
en el formato que determino el docente. entrega fue en el formato pre
establecido.
Ortografía No existe faltas ortográficas. De 1 a 3 faltas ortográficas. Tiene más de 3 faltas ortográficas.
7
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Rúbrica para evaluar Modelado de Base de Datos.
Categoría Muy Bueno (2.5) Bueno (2.0) Regular (1.0) Debe mejorar (0.5) Total
Nomenclatura Usa siempre para las Usa en su mayoría para Usa poco para las variables, No usa para las variables,
variables, parámetros, las variables, parámetros, etc. nombres que parámetros, etc. nombres
etc. nombres que parámetros, etc. representen la actividad de éstos. que representen la
representen la actividad nombres que actividad de éstos.
de éstos. representen la actividad de
éstos.
Estructura Están presentes todas las Están presentes todas las No están presentes todas las No están presentes todas las
entidades y las relaciones entidades y las entidades y las relaciones entre entidades y las
entre éstas se encuentran relaciones entre éstas se éstas se encuentran bien relaciones entre éstas no
bien desarrolladas según el encuentran en su desarrolladas según el contexto se encuentran bien
contexto mayoría bien desarrolladas según el
desarrolladas según el contexto
contexto
Atributos Posee todos los Posee la mayoría de los Posee pocos atributos para cada No todas las entidades tienen
atributos para cada atributos para cada entidad según el contexto. los atributos según el
entidad según el entidad según el contexto.
contexto. contexto.
Argumentación Redacta correctamente Redacta con dificultad el Redacta con dificultad el empleo No redacta el empleo de
el empleo de las empleo de de las cardinalidades, contiene todas las cardinalidades
cardinalidades cardinalidades. faltas ortográficas.
Calificación
8
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
INTRODUCCIÓN
La asignatura Base de Datos I pertenece a la unidad de formación profesional al campo de
formación de la praxis profesional, de carácter teórico – práctico cuyo propósito es llegar a
construir un modelo de datos (diseño conceptual, lógico, físico) basado en los requerimientos de
información de una organización, habilidad necesaria dentro del perfil del Ingeniero en Sistemas
Informáticos. Administrar el Sistema Gestor de Base de Datos para definir, manipular y controlar
los datos, brindando seguridad e integridad de los datos almacenados.
La comprensión de los conceptos y términos técnicos permite llegar al diseño de modelos que
cumplan con las especificaciones y estándares establecidos. Con el uso de software para el
modelado y sistemas gestores y mediante el lenguaje estructurado de consulta (definición,
manipulación y control) se crean bases de datos que permitan trabajar con grandes cantidades de
datos relacionados a un contexto específico.
OBJETIVO:
Aplicar los conceptos de modelado, diseño, normalización e implementación de base de datos
utilizando software especializado para la definición, manipulación y control de los datos.
9
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
UNIDAD I
El estudiante será capaz de Comprender los diferentes conceptos que permita mejorar el
léxico técnico mediante la lectura de bibliografía pertinente, y comprender los diferentes
sistemas gestores de base de datos para emplearlos dependiendo del contexto o
situación a solucionar.
INTRODUCCIÓN A LA BASE DE
DATOS
Las bases de datos se ingeniaron gracias a la necesidad de las grandes empresas de
almacenar ingentes cantidades de información de una forma rápida, sencilla y fiable, y
que a su vez pudieran acceder a ella en cualquier momento sin necesidad de desplazarse
a salas dedicadas a archivar documentación, como hasta hace poco se venia haciendo.
Cuando comenzó el despegue de los programas informáticos se empezaron a almacenar
datos en los archivos de los programas, lo cual era más cómodo pero aun así tenían
grandes dificultades a la hora de querer modificar registros, estructuras o simplemente
buscar información [1].
Los datos son símbolos que describen condiciones, hechos, situaciones o valores. Los
datos se caracterizan por no contener ninguna información. Un dato puede significar un
número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad,
una medida, una palabra o una descripción. La importancia de los datos está en su
capacidad de asociarse dentro de un contexto para convertirse en información. Por si
mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden
10
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse
en información para ofrecer un significado, conocimiento, ideas o conclusiones [2].
(b) Información = contenido semántico del dato derivado de una clave de codificación.
[3]
En esta misma línea, es importante distinguir entre dos fenómenos relacionados pero a
la vez distintos: transportar información y adquirir información. Transportar
información es una propiedad que poseen los datos gracias a la existencia de claves de
codificación. Adquirir información, en cambio, es una propiedad que poseen los
individuos (o agentes) que ejemplifican cuando son capaces de asimilar, a partir de su
stock previo de conocimiento, la información que transporta un dato al interpretar ese
dato a la luz de la clave de codificación que está en juego. Pasemos, por último, al
análisis del concepto de conocimiento. El conocimiento debe ser identificado con un
11
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
tipo especial de estados mentales (o disposiciones neuronales) que posee un individuo y
que presentan una serie de características propias. Por un lado, son estados mentales que
adquiere el individuo a partir de un proceso de asimilación o metabolización de
información.8 En este sentido el contenido semántico de esos estados mentales coincide
con esa información asimilada. Y, por otro, actúan de guía en las acciones y la conducta
de ese individuo. Podemos plasmar estas ideas en la siguiente definición:
(c) Conocimiento = estados mentales de un individuo construidos a partir de la
asimilación de información y que rigen las acciones del propio sujeto.
Sin embargo, las características del conocimiento no acaban aquí. Podemos abundar un
poco más sobre este tipo especial de estados mentales. El conocimiento, a diferencia de
los datos y la información, se encuentra estrechamente relacionado con las acciones y
las decisiones del sujeto que lo realiza; se llega incluso a poder evaluar ese conocimiento
utilizando como indicativo esas acciones y decisiones. El conocimiento, además, es el
factor crítico que permite la asimilación de nueva información y la creación de nuevo
conocimiento, por tanto por parte del sujeto que lo posee y suele verse reestructurado
continuamente por las entradas de nueva información asimilada. Para acabar la
presentación de esta distinción, nos queda señalar también que la caracterización de
estos tres conceptos que acabamos de introducir permite, en la mayoría de las
circunstancias, la discriminación física entre los datos, la información y el conocimiento.
En concreto, según nuestra propuesta los datos, información y conocimiento se ubicarían
respectivamente en tres niveles diferentes. En primer lugar, los datos se hallarían en el
territorio de lo físico. Los datos, como acaecimientos físicos (como trozos o parcelas de
la realidad) estarían dotados de naturaleza material. En segundo lugar, la información
no sería un conjunto especial de datos, sino que se situaría en el territorio de lo
conceptual. La información sería el contenido semántico de los datos. Un mismo dato
podría transportar diferentes informaciones y una misma información podría ser
transportada simultáneamente por diferentes datos. Por último, el conocimiento, como
estado cerebral o disposición neuronal, pertenecería al territorio de lo mental [3].
12
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Los datos pueden ser caracteres alfabéticos, magnitudes numéricas, símbolos especiales
alfanuméricos, colores, imágenes, grupos de símbolos no aleatorios que presentan
cantidades, acciones, objetos, etc. Los datos no permiten tomar decisiones antes de ser
tratados convenientemente. La información es el resultado de este tratamiento. El valor de
la información se destaca de manera más significativa en el contexto de una decisión. Si
no hubiese elecciones de alternativas actuales o futuras, la información sería innecesaria.
La información tiene valor en la medida en que afecte a las decisiones o acciones que se
vayan a tomar.
(Pablos, 2019). Organización y transformación de los sistemas de información en la
empresa (4a. ed.).
Los datos se pueden transformar en información añadiéndoles valor:
Contextualizando: se sabe en qué contexto y para qué propósito se
generaron.
Categorizando: se conocen las unidades de medida que ayudan a
interpretarlos.
Calculando: los datos pueden haber sido procesados matemática o
estadísticamente.
Corrigiendo: se han eliminado errores e inconsistencias de los datos.
Condensando: los datos se han podido resumir de forma más concisa
(agregación).
Conocimiento.
El conocimiento es información valorada, lo cual supone información que ha sido
sometida a un proceso de juicio y, sobre todo, es información relacionada. Si los datos
son la unidad básica de información, la información los datos estructurados, el
conocimiento lo podríamos también definir como información aplicada a la solución de
problemas. Volveremos más adelante sobre este concepto dada su relevancia actual.
(Pablos, 2019). Organización y transformación de los sistemas de información en la
empresa (4a. ed.).
13
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Elaborar una matriz con 5 ejemplos de datos e información y realizar el
análisis (conocimiento) de cada uno.
Base de datos.
El término ―base de datos‖ conceptualmente se define como [4]:
La colección de datos, normalmente denominada base de datos, que contiene
información relevante para una empresa.
Una colección compartida de datos lógicamente relacionados, junto con una
descripción de estos datos, que están diseñados para satisfacer las necesidades de
información de una organización.
Una base de datos es un conjunto de datos relacionados entre sí. Por datos
entendemos hechos conocidos que pueden registrarse y que tienen un significado
implícito.
La base de datos es una colección de ocurrencias de múltiples tipos de
registro, pero incluye además las relaciones que existen entre registros, entre
agregados de datos y entre ítem de datos.
14
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Escriba 5 ejemplos de datos estructurados con su significado
Datos Significado
estructurados
Entidad:
En [6] Se define como entidad al objeto sobre el cual se desea guardar información
en una base de datos. Por ejemplo, al diseñar una base de datos para gestionar el
15
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
inventario de una empresa, las entidades que formarían el modelo serían almacén,
departamento, producto, etc.
Dentro de una entidad tenemos las llamadas ocurrencias de una entidad, que son
aquellos valores determinados que toman cada uno de los atributos de una entidad. En
este caso un ejemplo de ocurrencia de una entidad Producto seria el producto
"Televisor Oled Curvo De
55" EC9300".
La representación gráfica de una entidad, es por medio de un rec• tángulo en el cual se
coloca el nombre de la entidad. Ejemplo, entidad Producto.
16
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
17
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Interrelación entre entidades: es el grado de asociación entre las entidades. Una
entidad ―estudiante‖ se asocia a una entidad ―profesor‖ en la semántica del proceso
educativo enseñanza-aprendizaje. Una entidad ―cliente‖ se asocia a una entidad
―préstamo‖ en el proceso financiero-contable del portafolio de servicios de una entidad
bancaria al otorgar préstamos a sus clientes.
Diseño Conceptual: Es una etapa de análisis formal. Especificación de requisitos. Se
realizan representaciones de la realidad con un modelo semántico o descriptivo. Se
utilizan herramientas conceptuales: diagramas entidad-relación.
Gestión de datos: son las operaciones de carga, edición y consulta de los datos
almacenados en el Sistema de Base de Datos.
Usuario: son los actores que construyen y se sirven de los datos contenidos y
procesados de la base de datos. Los usuarios se suelen clasificar en dos tipologías: i)
Usuarios no informáticos de la base de datos: son los que realizan operaciones de
consulta a la base de datos utilizando sistemas de menús o aplicaciones soportadas por
programas de propósito específico. Corresponde a estos niveles: Un estudiante de
Medicina en un sistema académico o un cliente en un sistema bancario. ii) Usuarios
informáticos: son los expertos conocedores en arquitecturas de hardware-software que
permiten la creación y gestión de la base de datos. Pertenecen a este nivel diseñadores,
programadores y administradores del sistema de base de datos.
18
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Modelado de una organización: es la representación lógica y física de los flujos de
información de la organización. Representación lógica que se puede modelar
gráficamente utilizando el M E-R; y representación física que se puede modelar en
términos de estructuras de datos físicas en el computador a través del MR.
(Capacho, 2017). Diseño de base de datos.
19
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Evolución histórica de las bases de datos.
20
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
lo que ayudó a ahorrar tiempo. La ubicación de los datos en disco no era importante, ya
que a cualquier posición del disco se podía acceder en sólo milisegundos. A
diferencia de las cintas magnéticas, ya no era necesaria la secuencialidad.
Los discos iniciaron las bases de datos, de red y jerárquicas, pues los programadores con
su habilidad de manipulación de estructuras junto con las ventajas de los discos era
posible guardar estructuras de datos como listas y árboles.
Esas bases de datos eran demasiado complejas e inflexibles y sólo podían ser usadas por
personal muy calificado. Aunque para escribir los programas de aplicación se utilizaban
lenguajes de alto nivel se disponía también de instrucciones y de subrutinas
especializadas para tratar las bases de datos que requerían que el programador
conociera muchos detalles del diseño físico, y que hacían que la programación fuera muy
compleja.
Puesto que los programas estaban relacionados con el nivel físico, se debían modificar
continuamente cuando se hacían cambios en el diseño y la organización de la base de
datos. La preocupación básica era maximizar el rendimiento.
Década de 1970.
Edgar Frank Codd, en un artículo "Un modelo relacional de datos para grandes bancos
de datos compartidos" ("A Relational Model of Data for Large Shared Data Banks") en
1970, definió el modelo relacional y publicó una serie de reglas para la evaluación de
administradores de sistemas de datos relacionales y así nacieron las bases de datos
relacionales. La simplicidad del modelo relacional y la posibilidad de ocultar
completamente los detalles de implementación al programador fueron realmente
atractivas. Codd obtuvo posteriormente el prestigioso premio Turing de la ACM
(Association of Cumputing Machinery, asociación de la maquinaria informática) por su
trabajo. A partir de los aportes de Codd el multimillonario Larry Ellison desarrolló la
base de datos Oracle, el cual es un sistema de administración de base de datos, que se
destaca por sus transacciones, estabilidad, escalabilidad y multiplataforma.
Década de 1980.
Inicialmente no se usó el modelo relacional debido a que tenía inconvenientes por el
rendimiento, ya que no podían ser competitivas con las bases de datos jerárquicas y de
red. Esta tendencia cambió por un proyecto de IBM el cual desarrolló técnicas para la
construcción de un sistema de bases de datos relacionales eficientes, llamado System R,
un proyecto en IBM Research que desarrolló técnicas para la construcción de un sistema
de bases de datos relacionales eficiente. Las bases de datos relacionales con su
sistema de tablas, filas y columnas, pudieron competir con las bases de datos jerárquicas
21
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
y de red incluso en área de rendimiento, ya que su nivel de Programación era bajo y su
uso muy sencillo, reemplazando finalmente a las bases de datos jerárquicas y de red.
Las bases de datos relacionales supusieron un avance importante para facilitar la
programación, realizando automáticamente casi todas las tareas de bajo nivel,
liberando al programador en el nivel lógico. El modelo relacional consiguió el reinado
supremo entre todos los modelos de datos. También en ese tiempo se dio una gran
investigación en las bases de datos paralelas y distribuidas, así como el trabajo inicial en
las bases de datos orientadas a objetos.
Década de 1990.
Al acabar la década de los 80’s, los sistemas de base de datos relacionales ya se
utilizaban prácticamente en todas las empresas.
Para la toma de decisiones se crea el lenguaje SQL (estandarizándose
posteriormente), que es un lenguaje programado para consultas. El programa de alto
nivel SQL es un lenguaje de consulta estructurado que analiza grandes cantidades de
información el cual permite especificar diversos tipos de operaciones frente a la misma
información, a diferencia de las bases de datos de los 80’s que eran diseñadas para las
aplicaciones de procesamiento de transacciones, que eran intensivas en actualizaciones.
Los grandes distribuidores de bases de datos incursionaron con la venta de bases de datos
orientada a objetos.
Tendencias actuales.
Hoy día, los sistemas de base de datos relacionales están en plena transformación para
adaptarse a tres tecnologías de éxito reciente, fuertemente relacionadas: la
multimedia, la de orientación a objetos e Internet y la Web.
La rápida adopción de la Web a los sistemas de información hace que los sistemas de
base de datos incorporen recursos para ser servidores de páginas Web, como por ejemplo
la inclusión de SQL en guiones HTML, SQL incorporado en Java, etc. Notando
que en el mundo de la Web son habituales los datos multimedia y la orientación a objetos.
Durante estos últimos años se ha empezado a extender un tipo de aplicación de las bases
de datos denominado Data Warehouse, o almacén de datos, que también produce
algunos cambios en los sistemas de base de datos relacionales del mercado. A lo largo
de los años que han trabajado con bases de datos de distintas aplicaciones, las empresas
han ido acumulando gran cantidad de datos de todo tipo. Si estos datos se analizan
convenientemente pueden dar información valiosa. Por lo tanto, se trata de mantener una
gran base de datos con información proveniente de toda clase de aplicaciones de la
empresa (e incluso de fuera).
22
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Los datos de este gran almacén, el Data Warehouse, se obtienen por una replicación más
o menos elaborada de las que hay en las bases de datos que se utilizan en el trabajo
cotidiano de la empresa. Estos almacenes de datos se utilizan exclusivamente para hacer
consultas, de forma especial para que lleven a cabo estudios los analistas financieros, los
analistas de mercado, etc.
Actualmente, los sistemas de base de datos relacionales se adaptan a este tipo de
aplicación, incorporando, por ejemplo, herramientas como la creación y el
mantenimiento de réplicas con una cierta elaboración de los datos, la consolidación de
datos de orígenes diferentes, la creación de estructuras físicas que soporten
eficientemente el análisis multidimensional, etc.
Recuperado de https://aprenderly.com/doc/45175/historia-y-evoluci%C3%B3n-de-las- bases-
de-datos
Actividad: Elaborar una línea de tiempo sobre la historia de las bases de datos
23
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Las bases de datos de tipo OLAP (On Line Analytical Processing) también son
llamadas bases de datos estáticas lo que significa que la información en tiempo real no
es afectada, es decir, no se insertan, no se eliminan y tampoco se modifican datos; solo
se realizan consultas sobre los datos ya existentes para el análisis y toma de decisiones.
Este tipo de bases de datos son implementadas en Business Intelligence para mejorar el
desempeño de las consultas con grandes volúmenes de información.
24
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Sistemas de información.
Para definir lo que es o en qué consiste un sistema de información nos vamos a apoyar
en la Teoría General de Sistemas y en lo que en ella se establece para determinar lo que
es un sistema. El término sistema lo utilizamos hoy en día de manera muy habitual y
para referirnos a muchas, variadas y distintas cuestiones: sistemas políticos, sistemas
monetarios, sistemas empresariales, sistemas eléctricos, sistemas de seguridad, sistema
planetario, sistemas de apuestas, etc. Lo empleamos para designar un concepto o como
una herramienta para explicar cómo es y/o qué ocurre en una determinada área como la
económica, la social, la tecnológica, la física, etc.
El Diccionario de la Real Academia Española (RAE) define el vocablo sistema como
«un conjunto de cosas que ordenadamente relacionados entre sí contribuyen a un
determinado objetivo». Por su parte, la Teoría General de Sistemas (TGS), o enfoque
sistémico, por sistema entiende «un conjunto de elementos en intersección dinámica
organizados para la consecución de un objetivo».
Un sistema de información (SI) empresarial como «un conjunto de recursos técnicos,
humanos y económicos, interrelacionados dinámicamente, y organizados en torno al
objetivo de satisfacer las necesidades de información de una organización empresarial
para la gestión y la correcta adopción de decisiones».
(Pablos, 2019). Organización y transformación de los sistemas de información en la
empresa (4a. ed.).
25
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Tipos de sistemas de información
Sistemas de procesamiento de transacciones (TPS)
Gestiona la información referente a las transacciones producidas en una empresa u
organización, también se le conoce como Sistema de Información operativa. También
se lo considera como un sistema computarizado que realiza y registra las
transacciones rutinarias diarias necesarias para el funcionamiento de la empresa. Se
encuentran en el nivel más bajo de la jerarquía organizacional y soportan las actividades
cotidianas del negocio.
Sistemas de control de procesos de negocio (BPM)
Monitorizan y controlan los procesos industriales o físicos, como puede ser la
refinación de petróleo, generación de energía o los sistemas de producción de acero en
una planta siderúrgica. Un ejemplo de este sistema sería el de una refinería de petróleo
en el que se utilizan sensores electrónicos conectados a ordenadores para monitorizar
procesos químicos continuamente y hacer ajustes en tiempo real que controlan el
proceso de refinación. Un sistema de control de procesos comprende toda una gama de
equipos, programas de ordenador y procedimientos de operación.
26
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
existe incertidumbre sobre los posibles resultados o consecuencias. Ayuda a los
gerentes a tomar decisiones complejas.
Sistema de información ejecutiva (EIS)
actualmente son:
MySQL
Es el sistema gestor de bases de datos relacional por excelencia. Es un SGBD multihilo
y multiusuario utilizado en la gran parte de las páginas web Actuales. Además, es el
más usado en aplicaciones creadas como software libre.
Se ofrece bajo la GNU GPL, aunque también es posible adquirir una licencia para
empresas que quieran incorporarlo en productos privativos (Desde la compra por parte
de Oracle se está orientando a este ámbito empresarial).
Las principales ventajas de este Sistema Gestor de Bases de datos son:
Facilidad de uso y gran rendimiento
Facilidad para instalar y configurar
Soporte multiplataforma
Soporte SSL
MariaDB
28
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Este SGBD es una derivación de MySQL que cuenta con la mayoría de
características de este e incluye varias extensiones. Nace a partir de la adquisición de
MySQL por parte de Oracle para seguir la filosofía Open Source y tiene la ventaja de
que es totalmente compatible con MySQL.
Entre las principales características de este Sistema Gestor de Bases de datos se
encuentran:
Aumento de motores de almacenamiento
Gran escalabilidad
Seguridad y rapidez en transacciones
Extensiones y nuevas características relacionadas con su aplicación
para Bases de datos NoSQL.
SQLite
Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita
en C que implementa un SGBD y que permite transacciones sin necesidad de un
servidor ni configuraciones.
Es una biblioteca utilizada en multitud de aplicaciones actuales ya que es open source
y las consultas son muy eficientes.
Las principales características de SQLite son:
El tamaño, al tratarse de una biblioteca, es mucho menor que cualquier
SGBD
Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento
y Durabilidad) logrando gran estabilidad
Gran portabilidad y rendimiento
29
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
PostgreSQL
Este sistema gestor de base de datos relacional está orientado a objetos y es libre,
publicado bajo la licencia BSD.
Sus principales características son:
Control de Concurrencias multiversión (MVCC)
Flexibilidad en cuanto a lenguajes de programación
Multiplataforma
Dispone de una herramienta (pgAdmin, https://www.pgadmin.org/) muy
fácil e intuitiva para la administración de las bases de datos.
Robustez, Eficiencia y Estabilidad.
La principal desventaja es la lentitud para la administración de bases de datos pequeñas
ya que está optimizado para gestionar grandes volúmenes de datos.
Aunque es nativo para Windows puede utilizarse desde hace ya un tiempo en otras
plataformas como Linux o Docker.
Su principal desventaja es el precio. Cuenta con un plan gratuito (Express) pero lo
normal es la elección de alguno de los planes de pago disponibles (Standard, Developer,
Enterprise o SQL Azure, la versión de SQL Server en la nube).
30
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Oracle
MongoDB
Estamos ante el Sistema Gestor de Bases de Datos no relacionales (SGBD NoSQL) más
popular y utilizado actualmente.
31
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
MongoDB es un SBGD NoSQL orientado a ficheros que almacena la información en
estructuras BSON con un esquema dinámico que permite su facilidad de integración.
Empresas como Google, Facebook, eBay, Cisco o Adobe utilizan MongoDB como
Sistema Gestor de Bases de datos.
Indexación y replicación
Balanceo de carga
Almacenamiento en ficheros
Consultas ad hoc
Escalabilidad horizontal
Open Source
Firebase
Se trata de una plataforma móvil creada por Google, cuya principal función es
desarrollar y facilitar la creación de apps de elevada calidad de una forma rápida, con
el fin de que se pueda aumentar la base de usuarios y ganar más dinero. La plataforma
está subida en la nube y está disponible para diferente plataformas como iOS, Android
y web. Contiene diversas funciones para que cualquier desarrollador pueda combinar y
adaptar la plataforma a medida de sus necesidades.
Las características principales son:
Desarrollo
Analítica
Poder de crecimiento
Monetización
Rapidez
Agilidad
32
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Cassandra
Al igual que Redis, Cassandra también utiliza almacenamiento clave-valor. Es un
SGBD NoSQL distribuido y masivamente escalable. Facebook, Twitter, Instagram,
Spotify o Netflix utilizan Cassandra. Dispone de un lenguaje propio para las consultas
denominado CQL (Cassandra Query Languaje).
Las principales características de este SGBD NoSQL son:
Multiplataforma
Propio lenguaje de consultas (CQL)
Escalado lineal y horizontal
Es un SGBD distribuido
Utiliza una arquitectura peer-to-peer
33
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Estructura de un motor de base de datos.
Almacenamiento en disco
En la parte inferior del diagrama aparecen los datos en sí, el diccionario de datos
que contiene información sobre los datos y es un tipo especial de tabla a la que solo
tiene acceso el sistema de base de datos y no los usuarios en general. El diccionario de
datos almacena entre otros datos, restricciones de seguridad e integridad (Date C. J.,
2001). También están los índices, que se utilizan para buscar más rápidamente un
registro. Estos, junto con los datos estadísticos son archivos que son almacenados en
disco.
Gestor de almacenamiento
Luego observamos una serie de programas. El primer grupo de programas se encarga
de gestionar el almacenamiento. Uno de ellos es el gestor de memoria intermedia, que
atiende solicitudes de consultas que involucran información guardada en disco. Si esa
información ya está en el gestor de memoria intermedia, se le proporciona al programa
solicitante, la dirección del bloque de memoria; de lo contrario, se busca sitio en la
memoria, se lee el disco, y se escribe en la memoria intermedia, acto seguido, se le
proporciona al solicitante la dirección del bloque.
34
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
El gestor de memoria intermedia atiende solicitudes de consultas que involucran
información guardada en disco.
El gestor de transacciones gestiona la ejecución de las transacciones o
subtransacciones que acceden a los datos almacenados. Una transacción es un grupo de
instrucciones (de consulta o actualización) que se deben ejecutar asegurando las
propiedades de Atomicidad, Consistencia, Aislamiento y Durabilidad (ACID).
El gestor de archivos gestiona la asignación de espacio de almacenamiento en disco. Y
el gestor de autorizaciones e integridad, comprueba que se satisfagan las restricciones
de integridad y la autorización de los usuarios para tener acceso a los datos.
Procesador de consultas
El otro grupo de programas se encarga de las consultas. Allí podemos observar al
intérprete de LDD (Lenguaje de Definición de Datos) que interpreta las
instrucciones del LDD y actualiza el diccionario de datos. También está un
compilador de LMD (Lenguaje de manipulación de datos) que traduce las
instrucciones del LMD que están en un lenguaje de consultas, a instrucciones de bajo nivel
que serán ejecutadas por el motor de evaluación de consultas. El motor de evaluación de
consultas es quien ejecuta las instrucciones de bajo nivel que le pasa el compilador de
LMD.
LDD = Lenguaje de Definición de Datos.
LMD = Lenguaje de manipulación de datos.
35
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Usuarios
Por último, observamos a los usuarios de la base de datos que interactúan cada uno de
ellos a través de su interfaz.
Los usuarios normales son usuarios que no requieren preparación especial en el
manejo de base de datos y que utilizan el sistema a través de programas de aplicación
que han sido escritos para ellos. Los programadores de aplicaciones son
usuarios de la base de datos y escriben programas de aplicación. Pueden llegar a utilizar
herramientas DRA (Desarrollo Rápido de Aplicaciones), con las que pueden crear
formularios e informes con poco esfuerzo de programación.
Los usuarios sofisticados son quienes utilizan la base de datos a través de consultas
escritas en un lenguaje de consultas. Y los usuarios especializados son usuarios
sofisticados que crean aplicaciones de bases de datos especializadas que abarcan otros
campos aparte del procesamiento tradicional de datos, por ejemplo los sistemas expertos.
¿Y el Administrador de Bases de Datos? Entre sus tareas se encuentran las
siguientes:
Crear el esquema de la base de datos, es decir el diseño lógico de la B.D.
Definir la estructura y el método de acceso.
Modificar el esquema y la organización física.
Autoriza el acceso a la base de datos.
Da mantenimiento de rutina a la B.D., lo que incluye hacer copias de
seguridad, asegurarse de que exista suficiente espacio libre, y supervisar el
rendimiento del sistema.
Recuperado de https://naps.com.mx/blog/arquitectura-de-un-sistema-gestor-de-bases-
de-datos/
Detalle el significado del término ACID
A
C
I
D
36
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
UNIDAD
2
Sintaxis
Actividad:
37
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
MODELO RELACIONAL.
El modelo de datos relacional es un caso atípico, ya que debe su existencia sobre todo a
los esfuerzos de una única persona, E. F. Codd. En 1970 E. F. Codd publicó un decisivo
artículo que estableció las bases del que es el modelo de datos probablemente
más popular en la actualidad. Desde 1968 hasta 1988, Codd publicó más de 40 artículos
técnicos sobre el modelo de datos relacional. Él se refiere al contenido completo de todos
los artículos anteriores a 1979 como la versión 1 del Modelo de Datos Relacional (Codd,
1990). (Beynon-Davies, 2014). Sistemas de bases de datos.
El modelo relacional se basa en el concepto matemático de relación, que gráficamente
se representa mediante una tabla. Es decir, una relación es una tabla, con columnas y
filas. Un SGBD sólo necesita que el usuario pueda percibir la base de datos como un
conjunto de tablas.
Frecuentemente una relación 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 (cada fila de la tabla sería un registro o tupla), y columnas (también llamadas
campos).
Un atributo es el nombre de una columna de una relación. En este modelo, las
relaciones se utilizan para almacenar información sobre los objetos que se
representan en la base de datos. Una relación se representa gráficamente como una tabla
bidimensional en la que las filas corresponden a registros individuales y las columnas
corresponden a los campos o atributos de esos registros. Los atributos pueden aparecer
en la relación en cualquier orden. El grado de una relación es el número de atributos
que contiene. En términos más sencillos, es el número de campos que tiene una
determinada tabla.
Un dominio es el conjunto de valores legales de uno o varios atributos. Los dominios
constituyen una poderosa característica del modelo relacional. Cada atributo de una
base de datos relacional se define sobre un dominio, pudiendo haber varios atributos
definidos sobre el mismo dominio. El concepto de dominio es importante porque
permite que el usuario defina, en un lugar común, el significado y la fuente de los
valores que los atributos pueden tomar.
Esto hace que haya más información disponible para el sistema cuando éste va a
ejecutar una operación relacional, de modo que las operaciones que son
semánticamente incorrectas, se pueden evitar. Por ejemplo, no tiene sentido comparar
el nombre de una calle con un número de teléfono, aunque los dos atributos sean cadenas
de caracteres. Sin embargo, el importe mensual del alquiler de un inmueble no estará
38
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
definido sobre el mismo dominio que el número de meses que dura el alquiler.
Pero sí tiene sentido multiplicar los valores de ambos dominios para averiguar el importe
total al que asciende el alquiler.
En resumen, el dominio es el conjunto de valores que puede asumir un determinado
atributo (campo). Una tupla es una fila de una relación. Los elementos de una relación
son las tuplas o filas de la tabla. Las tuplas de una relación no siguen ningún orden. En
términos más sencillos, las tuplas son los diferentes registros de una determinada
tabla. Recuperado de http://oftgu.eco.catedras.unc.edu.ar/unidad-3/sistemas-de-
gestion-de- base-de-datos/modelo-relacional-conceptos-basicos-y-fundamentos/
Entidades.
Entidades (Tabla). Es el elemento central del modelo relacional. Son los objetos
principales sobre los que debe recogerse información y generalmente denotan personas,
lugares, cosas o eventos de interés. Una relación tiene un nombre, un conjunto de
atributos que representan sus propiedades y está formada por un conjunto de tuplas que
incluyen los valores que cada uno de los atributos toma para cada una de las tuplas de
la relación. Una relación se representa mediante una tabla bidimensional (las columnas
representan los atributos y las filas representan las tuplas
o
registros).
Ejemplos de entidad
Entidad Descripción
Atributos.
Corresponde a una columna de la tabla (equivale a un campo de un registro) y se definen
sobre dominios. El número de atributos se llama grado. El grado no varía con el tiempo, si
añadimos un atributo a una relación, podemos considerar que se trata de otra relación nueva.
Identificadores.
Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve
para identificar los elementos de una base de datos (entidades, atributos, funciones,
procedimientos, disparadores, etc) Los identificadores pueden ser combinaciones de letras
y números. Cuando un identificador se asocia a un elemento concreta, entonces es el
"nombre" de dicho elemento, y en adelante la representa en la base de datos. Nombrar los
39
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
elementos hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de
procesamiento simbólico. Se recomienda emplear nomenclaturas (no necesariamente
estandarizadas) para identificar a los elementos de una base de datos. Los caracteres que
pueden conformar un indicador son: i) letras mayúsculas ( A_Z ); ii) letras minúsculas
(a_z); iii) números digitales (0_9); y finalmente, el carácter de subrayado (_). Por su
parte, en la construcción del identificador se deben cumplir las siguientes reglas: i) el
identificador debe comenzar con una letra; ii) el nombre del identificador no puede
contener espacios; y iii) la longitud máxima del identificador puede ser solo de 128
caracteres.
(Capacho, 2017). Diseño de base de
datos.
Atributos mandatorios.
Son los atributos que, al momento de realizar el ingreso de datos en una entidad,
éstos deben ser necesariamente llenados.
Ejemplos de atributos mandatorios.
Atributo Descripción
nombre_Empleado Permite almacenar el nombre de los empleados.
Atributos opcionales.
Son los atributos que, al momento de realizar el ingreso de datos en una entidad,
éstos pueden quedar vacíos.
Ejemplos de atributos opcionales.
Atributo Descripción
Tel_conv_Empleado Permite almacenar el número telefónico convencional de los
empleados.
Tipos de datos.
La estructura sintáctico-semántica del esquema que define la base de datos requiere
manipular los valores de los datos de la misma. Por lo tanto, cada valor manipulado se
define en la base de datos a través de un tipo de dato; el tipo de dato sirve para
diferenciar los contenidos de la base de datos en su especificidad digital (booleano),
numérica (numérico exacto o aproximado), carácter, u objetos de tipo carácter
definidos de gran tamaño.
(Capacho, 2017). Diseño de base de datos.
Actividad: ¿Cuáles son los tipos de datos soportados por SGBD MySQL?
Tipo de dato Definición Ejemplo
Ubicar tres entidades con sus respectivos atributos y defina el atributo clave y
argumente porque consideró ese atributo clave.
Entidad Atributos Argumentación
Regla 6: regla de actualización, todas las vistas que son teóricamente actualizables deben
ser actualizables por el sistema.
Regla 7: alto nivel de inserción, actualización, y cancelación, el sistema debe soportar
suministrar datos en el mismo tiempo que se inserte, actualiza o esté borrando. Esto
significa que los datos se pueden recuperar de una base de datos relacional en los sistemas
construidos de datos de filas múltiples y/o de tablas múltiples.
Regla 8: independencia física de los datos, los programas de aplicación y actividades
del terminal permanecen inalterados a nivel lógico cuandoquiera que se realicen cambios
en las representaciones de almacenamiento o métodos de acceso.
Regla 9: independencia lógica de los datos, los cambios al nivel lógico (tablas,
columnas, filas, etc.) no deben requerir un cambio a una solicitud basada en la
estructura. La independencia de datos lógica es más difícil de lograr que la independencia
física de datos.
Regla 10: independencia de la integridad, las limitaciones de la integridad se deben
especificar por separado de los programas de la aplicación y se almacenan en la base de
datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las
aplicaciones existentes.
Regla 11: independencia de la distribución, la distribución de las porciones de la base
43
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos.
Los usos existentes deben continuar funcionando con éxito:
Cuando una versión distribuida del SGBD se introdujo por primera vez
Cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.
Regla 12: la regla de la no subversión, si el sistema proporciona una interfaz de bajo nivel
de registro, a parte de una interfaz relacional, que esa interfaz de bajo nivel no se pueda
utilizar para subvertir el sistema, por ejemplo: sin pasar por seguridad relacional o
limitación de integridad. Esto es debido a que existen sistemas anteriormente no
relacionales que añadieron una interfaz relacional, pero con la interfaz nativa existe la
posibilidad de trabajar no relacionalmente.
44
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
NORMALIZACIÓN DE BASES DE DATOS.
La normalización es el proceso de organizar datos en una base de datos. Esto incluye la
creación de tablas y el establecimiento de relaciones entre esas tablas de acuerdo con las
reglas diseñadas tanto para proteger los datos como para que la base de datos sea más
flexible mediante la eliminación de la redundancia y la dependencia incoherente.
Los datos redundantes desperdician espacio en disco y crean problemas de
mantenimiento. Si es necesario cambiar los datos que se encuentran en más de un lugar,
los datos deben cambiarse exactamente de la misma forma en todas las ubicaciones. El
cambio de dirección de un cliente es mucho más fácil de implementar si los datos se
almacenan solo en la tabla clientes y en ninguna otra parte de la base de datos.
¿Qué es una "dependencia incoherente"? Aunque resulta intuitivo para un usuario buscar
en la tabla de clientes la dirección de un cliente en particular, es posible que no tenga
sentido buscar en él el salario del empleado que llama a ese cliente. El salario del
empleado está relacionado con el empleado o depende de él y, por lo tanto, se debe
mover a la tabla empleados. Las dependencias incoherentes pueden dificultar el acceso a
los datos, ya que la ruta para encontrar los datos puede faltar o estar dañada.
Hay algunas reglas para la normalización de bases de datos. Cada regla recibe el nombre
de "forma normal". Si se observa la primera regla, se dice que la base de datos está
en la "primera forma normal". Si se cumplen las tres primeras reglas, se considera que la
base de datos está en la "tercera forma normal". Aunque son posibles otros niveles de
normalización, la tercera forma normal se considera el nivel más alto necesario para la
mayoría de las aplicaciones.
Al igual que con muchas reglas y especificaciones formales, los escenarios del mundo
real no siempre permiten el cumplimiento perfecto. En general, la normalización
requiere tablas adicionales y algunos clientes lo consideran engorrosos. Si decide infringir
una de las tres primeras reglas de normalización, asegúrese de que la aplicación anticipa
los problemas que puedan producirse, como datos redundantes y dependencias
incoherentes.
No use varios campos en una sola tabla para almacenar datos similares. Por ejemplo, para
realizar un seguimiento de un elemento de inventario que puede provenir de dos
45
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
orígenes posibles, un registro de inventario puede contener campos para el código de
proveedor 1 y el código de proveedor 2.
¿Qué sucede cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta;
requiere modificaciones en el programa y en la tabla y no admite de forma fluida un
número dinámico de proveedores. En su lugar, inserte toda la información del proveedor
en una tabla separada llamada proveedores y, a continuación, vincule inventario a
proveedores con una clave de número de artículo o proveedores al inventario con
una clave de código de proveedor.
Los registros no deben depender de nada que no sea la clave principal de una tabla (una
clave compuesta, si es necesario). Por ejemplo, considere la dirección de un cliente en un
sistema de contabilidad. La dirección es necesaria para la tabla clientes, pero también las
tablas pedidos, envíos, facturas, cuentas a cobrar y colecciones. En lugar de almacenar la
dirección del cliente como una entrada independiente en cada una de estas tablas,
almacénela en un lugar, ya sea en la tabla customers (clientes) o en una tabla de
direcciones independiente.
Los valores de un registro que no forman parte de la clave de ese registro no pertenecen a
la tabla. En general, siempre que el contenido de un grupo de campos se aplique a más de
un registro de la tabla, considere la posibilidad de colocar dichos campos en una tabla
independiente.
Por ejemplo, en una tabla de contratación de empleados, puede incluirse el nombre de la
Universidad y la dirección de un candidato. Pero necesita una lista completa de las
universidades para los correos de grupo. Si la información de la Universidad se
almacena en la tabla candidatos, no hay forma de enumerar universidades sin candidatos
actuales. Cree una tabla universidades independiente y vincúlelo a la tabla candidatos con
una clave de código de Universidad.
EXCEPCIÓN: cumplir con la tercera forma normal, aunque teóricamente deseable, no
siempre es práctico. Si tiene una tabla Customers y desea eliminar todas las dependencias
46
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
entre campos posibles, debe crear tablas independientes para ciudades, códigos
postales, representantes de ventas, clases de clientes y cualquier otro factor que se
pueda duplicar en varios registros. En teoría, la normalización merece la pena pursing.
Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar las
capacidades de memoria y de archivos abiertos.
Es posible que sea más factible aplicar la tercera forma normal solo a los datos que
cambian con frecuencia. Si se conservan algunos campos dependientes, diseñe la
aplicación para exigir al usuario que compruebe todos los campos relacionados
cuando se modifique cualquiera de ellos.
Recuperado de https://docs.microsoft.com/es-es/office/troubleshoot/access/database-
normalization-
description
Tabla no normalizada.
47
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Id_ Nombr
Apellid Aula Asignatur
E
1 eJuan
oPérez P3 as
Matemáti
2 María
Becerr P4 cas
Biología
a
Id_ Nombr Apellid Aula Estudian Asignaturas
1E Juan
eMaría Pérez
oBecerr P3 1te Matemáticas
2 P4 1 Física
a 1 Química
2 Biología
2 Estadística
Normalizar
48
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Actividad: Realizar la normalización para la tabla productos
Id Detalle Precio Categori Proveedor1 Proveedor2
1 Costill 5.00 a
Cárnicos Pronaca Charrua
as
Lec
2 he 1.25 Lácteos Lenutrit La vaquita
extr
3 aLechug
calci 0.20 Legumbr Del campo Natural
oa es
Algebra relacional.
El álgebra relacional constituye un lenguaje procedimental que cuenta con un conjunto de
operaciones básica para llevar a cabo consultas sobre una base de datos. En este lenguaje
se basa el lenguaje de SQL para consultas.
Clasificación de operadores.
Existen en la literatura diversas formas de clasificar los operadores del álgebra relacional,
en base de diferentes características, por lo que comentaremos, en este apartado, las
formas de clasificación más extendidas:
Una primera forma de clasificación podría ser en base al número de relaciones
implicadas en la operación. De este modo, tenemos:
o Operaciones unarias: cuando en la operación está implicada una única
relación. Las operaciones representativas de este tipo son la selección ( σ )
y la proyección (π). Otro operador binario menos extendido es el operador
de renombrado ( ρ ).
o Operaciones binarias: cuando en la operación están implicadas dos
relaciones. Las operaciones binarias son las relacionadas con la teoría de
conjuntos (unión (U), intersección ( ∩ ) y diferencia (-)) y el producto
cartesiano (X).
Y otra alternativa de clasificación podría ser en base a si el operador se
corresponde o no a los de la teoría de conjuntos, teniendo, a su vez:
o Operaciones conjuntistas, es decir, los relacionados a la teoría de
conjuntos, entre los que se encuentran unión (U), intersección ( ∩ ),
diferencia (-) y el producto cartesiano (X).
o Operaciones específicamente relacionales, entre los que tenemos las
operaciones de la selección ( σ ) y la proyección (π).
49
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
En la condición podemos emplear los operadores relacionales (>, <, >=, <=, =, <>) y
los conectores lógicos (and ( ∧ ), or ( ∨ ), not (¬)) para concatenar varias condiciones.
(Gallegos, 2017). Programación de bases de datos relacionales.
Selección. Esta operación consiste en seleccionar las tuplas de una tabla que satisfagan
una determinada condición o condiciones.
Sintaxis
σ condición
(tabla)
Mostar los estudiantes cuyo apellido sea Pérez y sigan la carrera de sistemas
σ apellido = ‖Pérez‖ ^ carrera=‖sistemas‖ (estudiantes)
Resolver los siguientes ejercicios
Enunciado Operación
Mostrar los estudiantes de la
carrera de sistemas y que
vivan en La Concordia
Mostar los estudiantes que estén
en cuarto
nivel paralelo D
Mostar los estudiantes que
estén en cuarto nivel paralelo D
y el paralelo E
Producto cartesiano
Esta operación binaria (sobre dos relaciones) obtiene una nueva relación, que
contiene elementos combinados de ambas relaciones. El número de tuplas de la
nueva relación es igual a nxm, siendo n y m las tuplas de las relaciones originales.
Sintaxis
Tabla1 X Tabla2
Unión
Esta operación muestra el resultado de la unión de los elementos de dos relaciones. Para
ello, las dos relaciones deben ser compatibles respecto la unión, o unión- compatibles.
Para realizar la operación:
Las dos tablas deben tener el mismo número de atributos.
Los dominios de esos atributos deben ser compatibles dos a dos.
Sintaxis
Tabla1 U Tabla2
51
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Resolver los siguientes ejercicios
Enunciado Operación
Diferencia
Esta operación nos devuelve las tuplas que están presentes en la primera relación y
que no están presentes en la segunda.
Para ello, las dos tablas deben ser compatibles respecto la unión, o unión-compatibles.
Sintaxis
Tabla1 - Tabla2
Entidad
Entidad débil
Atributo
Relación
Conector
De uno a uno
País 1:1 Capital
De uno a varios
53
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
De varios a varios
Cliente N: Producto
M
54
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Identifique la relación y la cardinalidad
Enunciado Diagrama Cardinali
Un sistema pide dad
registrar los
datos del
conyugue.
Cuando un
cliente realiza
una compra
recibe el
respectivo
comprobante.
Un estudiante
realiza
la matrícula
en sus
respectivas
asignaturas.
Ejercicios
La cooperativa de taxis desea llevar el control de los propietarios, los taxis y los
conductores.
1. Identificamos las Entidades.
2. Identificamos los atributos de las Entidades.
3. Identificamos las relaciones entre las Entidades.
4. Colocamos la cardinalidad de las relaciones.
Se desea informatizar la gestión de una empresa de transportes que reparte paquetes por
toda España. Los encargados de llevar los paquetes son los camioneros, de los que se
55
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
quiere guardar el dni, nombre, teléfono, dirección, salario y población en la que vive.
De los paquetes transportados interesa conocer el código de paquete,
descripción, destinatario y dirección del destinatario. Un camionero distribuye muchos
paquetes, y un paquete sólo puede ser distribuido por un camionero. De las provincias a
las que llegan los paquetes interesa guardar el código de provincia y el nombre. Un
paquete
sólo puede llegar a una provincia. Sin embargo, a una provincia pueden llegar varios
paquetes. De los camiones que llevan los camioneros, interesa conocer la matrícula,
modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas
diferentes, y un camión puede ser conducido por varios camioneros.
Se desea diseñar la base de datos de un Instituto. En la base de datos se desea guardar los
datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). Los profesores
imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno está
matriculado en uno o varios módulos. De cada alumno se desea guardar el nº de
expediente, nombre, apellidos y fecha de nacimiento. Los profesores pueden impartir
varios módulos, pero un módulo sólo puede ser impartido por un profesor.
Cada curso tiene un grupo de alumnos, uno de los cuales es el delegado del grupo.
.
56
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Actividad: Realizar los diagramas entidad-relación para los siguientes enunciados
2. Una base de datos para una pequeña empresa debe contener información acerca
de clientes, artículos y pedidos. Hasta el momento se registran los siguientes
datos en documentos varios:
Para cada cliente: Número de cliente (único), Direcciones de envío (varias
por cliente), Saldo, Límite de crédito (depende del cliente, pero en ningún caso
debe superar los 3.000.000 pts), Descuento.
Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen,
Existencias de ese artículo en cada fábrica, Descripción del artículo.
Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido.
La cabecera está formada por el número de cliente, dirección de envío y
fecha del pedido. El cuerpo del pedido son varias líneas, en cada línea se
especifican el número del artículo pedido y la cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo,
dado el uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y
se desean ver cuántos artículos (en total) provee la fábrica. También, por información
estratégica, se podría incluir información de fábricas alternativas respecto de las que ya fabrican
artículos para esta empresa. Nota: Una dirección se entenderá como Nº, Calle, Comuna y
Ciudad. Una fecha incluye hora. Se pide hacer el diagrama ER para la base de datos que
represente esta información.
4. Diseñar un esquema E/R que recoja la organización de una base de datos para
contener la información sobre todas las carreteras del país, sabiendo que se
deben cumplir las siguientes especificaciones:
Las carreteras están divididas en varias categorías (locales, comerciales,
regionales, nacionales, autovías, etc).
Las carreteras se dividen en tramos. Un tramo siempre pertenece a una
única carretera y no puede cambiar de carretera.
Un tramo puede pasar por varias comunas, interesando conocer el Km de la
carretera y la comuna donde empieza el tramo y en donde termina.
Para los tramos que suponen principio o final de carretera, interesa saber si
es que la carretera concluye físicamente o es que confluye en otra carretera. En
este caso, interesa conocer con qué carretera confluye y en qué kilómetro,
tramo y comuna.
5. Las sedes olímpicas se dividen en complejos deportivos. Los complejos
deportivos se subdividen en aquellos en los que se desarrolla un único
deporte y en los polideportivos. Los complejos polideportivos tienen áreas
designadas para cada deporte con un indicador de localización (ejemplo: centro,
esquinaNE, etc.). Un complejo tiene una localización, un jefe de
organización individual y un área total ocupada. Los dos tipos de complejos
(deporte único y polideportivo) tendrán diferentes tipos de información. Para
cada tipo de sede, se conservará el número de complejos junto con su
presupuesto aproximado. Cada complejo celebra una serie de eventos (ejemplo:
la pista del estadio puede celebrar muchas carreras distintas.). Para cada
evento está prevista una fecha, duración, número de participantes,
número de comisarios. Una lista de todos los comisarios se conservará junto con
la lista de los eventos en los que esté involucrado cada comisario ya sea
cumpliendo la tarea de juez u observador. Tanto para cada evento como para el
mantenimiento se necesitará cierto equipamiento (ejemplo: arcos, pértigas,
barras paralelas, etc.).
58
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Modelo conceptual o lógico.
El elemento central del modelo relacional es la Relación. Una relación tiene un
nombre, un conjunto de atributos que representan sus propiedades y un conjunto de tuplas
que incluyen los valores que cada uno de los atributos toma para cada elemento de la
relación. Otro elemento importante dentro del modelo es el Dominio, que también
tiene entidad propia al igual que la relación, y que describe los valores válidos que un
atributo definido sobre este dominio puede tomar. Una relación puede representarse como
una tabla de dos dimensiones (las columnas son los atributos de la relación y las filas
son las tuplas) con un único valor en cada celda intersección. Esta manera de
representación se denomina por extensión, y va variando a lo largo del tiempo puesto
que las tuplas de una Relación pueden verse afectadas por operaciones de actualización.
El modelo relacional impone una serie de restricciones inherentes:
En una relación no puede haber dos tuplas iguales (obligatoriedad de clave
primaria).
El orden de las tuplas y el de los atributos no es relevante.
Cada atributo solo puede tomar un único valor del dominio sobre el cual está
definido (no hay grupos repetitivos).
Ningún atributo que forme parte de la clave primaria de una relación puede
tomar un valor nulo (regla de integridad de entidad).
Por otra parte, los mecanismos que proporciona el modelo relacional para recoger
restricciones semánticas o de usuario son:
La restricción de clave primaria (PRIMARY KEY) permite declarar un atributo o
conjunto de atributos como la clave primaria de una relación que identifica
unívocamente cada tupla de la relación. Por la restricción inherente (a) es
obligatorio definir en toda relación una clave primaria, y ésta no puede adoptar
valores nulos.
La restricción de unicidad (UNIQUE) nos permite definir claves de identificación
alternativas (los valores de uno o varios atributos no pueden repetirse en
diferentes tuplas de una relación). La notación que se seguirá para representar la
unicidad es la del subrayar de manera discontinua el atributo o atributos que la
componen.
La restricción de obligatoriedad (NOT NULL) permite declarar si uno o varios
atributos de una relación deben tomar siempre un valor, es decir, no pueden tomar
valores nulos. Por defecto, en el grafo relacional los atributos son obligatorios, por
lo que la notación utilizada para los atributos opcionales se muestra con un
asterisco.
59
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Símbolo Significado
Entidad Entidad
Atributos
Atributo 1
Atributo 2
Atributo n
Ejercicio
La cooperativa de taxis desea llevar el control de los propietarios, los taxis y los
conductores.
Modelo Entidad-Relación
60
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
Desarrollar el modelo conceptual:
Se desea diseñar la base de datos de un Instituto. En la base de datos se desea guardar
los datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). Los
profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada
alumno está matriculado en uno o varios módulos. De cada alumno se desea guardar
el nº de expediente, nombre, apellidos y fecha de nacimiento. Los profesores pueden
impartir varios módulos, pero un módulo sólo puede ser impartido por un profesor.
Cada curso tiene un grupo de alumnos, uno de los cuales es el delegado del grupo.
Modelo físico.
El modelo físico es el siguiente paso en el modelado de las bases de datos.
La restricción de clave ajena (FOREIGN KEY), también denominada integridad
referencial, se utiliza para, mediante claves ajenas (conjunto de atributos en una
relación que es una clave primaria en otra o la misma relación) enlazar relaciones de una
base de datos. La integridad referencial indica que los valores de la clave ajena en la
relación que referencia deben corresponderse con alguno de los valores existentes de la
clave (primaria o alternativas) definida (o tener valor nulo, si se permite) en la relación
referenciada. Si no se define una clave en la relación referenciada, por defecto se
asumirá la referencia sobre la clave primaria. Los atributos que son clave ajena en una
relación no necesitan tener los mismos nombres que los atributos de la clave primaria con
la cual ellos se corresponden.
(Iglesias, 2014). Desarrollo de bases de datos: Casos prácticos desde el análisis a la
implementación (2a. ed.).
61
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
En el modelo físico no existe la relación de varios a varios, por lo tanto, si en el modelo
conceptual o lógico se presenta esta relación, debe ser destruida a través de una tabla
intermedia (relación de intersección).
Ejercici
o
Modelo lógico Modelo físico
Indique cuales son las diferencias que puede observar entre el modelo lógico y el
físico
62
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
UNIDAD 3
El estudiante será capaz de Implementar base de datos en SGBD a través del lenguaje
SQL mediante sentencias de código para la estructura y el manejo de los datos.
LENGUAJE SQL
(DDL). Create.
Alter.
Drop.
Truncate.
(DML). Select.
Insert.
Delete.
Update.
From.
Where.
Order by.
Group by.
Consultas anidadas.
63
ELABORADO: Ing. Alejandro Macías Lara Mgtr.
UNIDAD 4
SEGURIDAD EN LA CONEXIÓN.
Connect.
Disconnect.
64
ELABORADO: Ing. Alejandro Macías Lara Mgtr.