Está en la página 1de 7

Actividad 1

Identificando el diseño de base de datos


Diseño de Bases de Datos

Ma de los Angeles Salazar Ibarra


ES172015667
Desarrollo de Software
Introducción
Tomando en cuenta que, sobre el diseño de la base de datos, recae la responsabilidad de
la integridad de los datos, debe realizarse minuciosamente ya que de ello depende que en
un futuro no se presenten dificultades de acceso o perdida de datos.
Se deberá tomar en cuenta las entidades necesarias a la organización interesada, así como
los datos que habrán de incluirse de acuerdo con los requerimientos, que se apegarán a
las propiedades de cada entidad. Para lo cual se hace necesario realizar un diseño
conceptual, que permita una primera visualización de lo que se va a representar en la base
de datos, de tal forma que se asemeje a la realidad.
El diagrama entidad-relación resulta común para realizar el esquema conceptual, en
lenguaje natural, lo que permite comprensión de todos los involucrados, dando pie a
modificaciones derivadas del análisis y aparición de requerimientos que no habían sido
incluidos.
El diseño debe llevarse implementando metodologías para ello, pensando en el tipo de BD
conveniente para la empresa u organización. Cuando se ha realizado la representación
conceptual, se tiene un mayor panorama para dar paso al diseño lógico, el cual se podrá
procesar en un sistema de gestión de bases de datos SGBD, según el modelo lógico electo
que puede ser relacional, en red, orientado a objetos, etcétera. En esta parte se reducen a
su mínima expresión los datos, en base a la normalización de las tablas, además se realiza
un diccionario de datos que proveerá de información al diseño físico.
La tercera etapa es el diseño físico, que es la implementación del modelo a un sistema de
gestión, donde las entidades se vuelven tablas fiscas, con columnas que contienen atributos
con un tipo de dato y tamaño definidos; algunas campos serán, según la relación de las
entidades claves primarias, foráneas y compuestas, a su vez establecerán los índices para
optimizar el acceso, derivados de los campos llaves, pero también se habrán de asignar
aquellos que resulten pertinentes; todo lo anterior de acuerdo con el lenguaje estructurado
de consulta.

Desarrollo:
Como ejemplo se presenta un caso de aplicación, referente a un programa social municipal
que apoya a familias de escasos recursos, el cual requiere almacenar la información de
cada uno de los integrantes de todas las familias incorporadas; así como los tipos de apoyos
que reciben y que integrante los recibe, tomando en cuenta que un integrante puede recibir
varios apoyos a la vez; en el caso de los estudiantes el nivel educativo y los datos de la
escuela donde cursa su preparación académica.
Pensando en una base de datos relacional se aplican las tres etapas del diseño, del cual
se presentan los esquemas correspondientes:
Conceptual
Aquí se destacan, base a los requerimientos, las entidades, sus relaciones y la cardinalidad
de estas, en el diagrama se puede observar los atributos, las posibles llaves
Lógico
En esta parte ya aparecen en tablas donde los campos han sido diluidos a su minima expresión, y se sigue la relacion logica de las entidades; para ello y como se menciono al principio se elije
un modelo relacional, siguiendo su estructa se tiene por objetivo realizar un conjunto de tablas relacionadas que permitan almaccenar de manera eficiente los datos plasmados en el esquema
concptual; cabe señalar que en esta fase del diseño hay la posibilidad de encontrar deficiencias o la no existencia de algunos datos necesarios al sistema, y quiza aquellos que no represeten
relevancia y puedan ser omitidos.

En el diseño lógico también se establecen las reglas de comportamiento para las claves foráneas, por ejemplo, en campos que no deberán ser nulos, que en caso del borrado en campos no
nulos debe propagarse el borrado a los datos referenciados a dicho campo; así como el diccionario de datos.
Físico
En base al modelo relacional, se piensa en el lenguaje estructurado de consulta SQL y llevar acabo en un SGBD relacional MySQL; es importante resaltar los conceptos involucrados aquí, como
es el DDL, lenguaje de definición de datos, el cual permitirá la creación de las tablas y estructurar la base de datos. Así como el DML, lenguaje de manipulación de datos, que permite como su
nombre lo dice la manipulación de los datos, para insertarlos y modificarlos.
Como ejemplo de lo anterior anexo fragmentos de la creación de la base de datos donde se demuestra el uso de consultas para crear y estructurar la BD, entre lo anterior se establece también
el comportamiento de algunas de las llaves foráneas, esto se puede observar en la tabla intermedia estudiantes_integrantes:

CREATE DATABASE APOYOSOCIAL; CREATE TABLE `estudiantes` ( //tabla intermedia


USE APOYOSOCIAL; `ID` int(11) NOT NULL AUTO_INCREMENT, CREATE TABLE `estudiantes_integrantes` (
CREATE TABLE `familias` ( `nivel` tinytext NOT NULL, `ID_Est` int(11) NOT NULL,
`ID_Familia` int(11) NOT NULL AUTO_INCREMENT, `grado` tinytext NOT NULL, `Curp_E` char(1) NOT NULL,
`Num_Integrantes` int(11) NOT NULL, `Clave_E` char(1) NOT NULL, PRIMARY KEY (`ID_Est`,`Curp_E`),
`Incorporacio` date NOT NULL, PRIMARY KEY (`ID`), KEY `Curp_E` (`Curp_E`),
`ID_Dir` int(11) NOT NULL, KEY `Clave_E` (`Clave_E`), CONSTRAINT `Curp_E` FOREIGN KEY (`Curp_E`)
PRIMARY KEY (`ID_Familia`), CONSTRAINT `Clave_E` FOREIGN KEY (`Clave_E`) REFERENCES `integrantes` (`curp`) ON DELETE
KEY `ID_Dir` (`ID_Dir`), REFERENCES `institucioneducativa` (`Clave`) CASCADE ON UPDATE CASCADE,
CONSTRAINT `ID_Dir` FOREIGN KEY (`ID_Dir`) REFERENCES ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 CONSTRAINT `ID_Est` FOREIGN KEY (`ID_Est`)
`direccion` (`ID_Direccion`) COLLATE=utf8mb4_0900_ai_ci REFERENCES `estudiantes` (`ID`) ON DELETE CASCADE
); ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci
Una vez que se ha diseñado físicamente la base de datos, en el diagrama pueden visualizarse las tablas, sus relaciones, llaves y los índices, este diagrama sigue siendo un diagrama E-R, pero
ahora a nivel del diseño de BD físico:
Conclusión
Las tres fases del diseño de BD son importantes, el conceptual nos da una primera visión de las relaciones que se habrán de establecer, entre las entidades que se tienen previstas, así como
los atributos de estas, considerando también como se usara la BD, especificando transacciones y aplicaciones, acceso y frecuencia, volumen de datos; posterior a ello se elige el DBMS, con el
conocimiento de hardware y software con el que se cuenta. Teniendo lo anterior podrá avanzarse al diseño lógico, que definirá la estructura que habrá de implementarse, pasando del modelo
conceptual al de datos, en base al DBMS elegido; mientras la parte física será la propia implementación del diseño lógico, que habrá de someterse a evaluación y realizar las afinaciones
pertinentes.

Fuentes de consulta
Ricardo, C. M. (2009). Bases de Datos. México. McGRAW-HILL INTERAMERICANA EDITORES, S.A. de C.V.
Márquez, M. (2015). Diseño de bases de datos (II): diseño lógico y diseño físico. YouTube. Disponible en: https://www.youtube.com/watch?v=nkY6bQ-fPRs&t=29s
Márquez, M. (2015). Diseño de bases de datos (II): diseño lógico y diseño físico. YouTube. Disponible en: https://www.youtube.com/watch?v=21q2XhbHmNc&t=15s
UnADM.(2019). Unidad 1. Administración de bases de datos. Diseño de base de datos: UnADM. México. Recuperado de:
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S2_B1/DS/03/DDBD/U1/Unidad_1_Administracion_de_bases_de_datos.pdf
Las imágenes y diagramas son de autoría propia, así como el planteamiento del ejemplo; la pequeña BD se realizo en MySQL Workbench.