Introducción base de datos
Enviado por Oscar danilo Castelblanco • 20 de Septiembre de 2021 • Resumen • 4.316 Palabras (18 Páginas) • 58 Visitas
INTRODUCCION DE BASE DE DATOS
3 pasos para el análisis de un problema y extracción de entidades relevantes para la Base de Datos
Determinar el propósito de la base de datos (objetivo): El propósito de una base de datos está determinado por la necesidad de información de una organización, es decir ¿Por qué debemos almacenar cierta información y no otra? La información identificada como relevante solo se puede obtener si los datos están disponibles, de lo contrario debemos crear una nueva base de datos o mejorar las bases de datos existentes.
Determinar los datos que deben almacenarse en la base de datos: Determinar los datos que deben almacenarse puede no ser una tarea fácil y en muchos casos esto lo realiza un equipo que participa en el diseño de la base de datos. Para proyectos pequeños, sin embargo, esto lo puede hacer una persona. En este último caso, debemos identificar todos los “lugares” donde exista un dato-de entrada, o de salida. Por ejemplo, podemos encontrar datos en los siguientes elementos:
- Analizando interfaces de usuario existentes
- Reportes que se generan actualmente en la compañía
- Formularios actuales que se usan para recolectar información
- Conversando con las personas que usarán la base de datos
Dividir la información por grupos de datos: Una vez identificados los datos, es aconsejable agrupar los mismos de acuerdo a los objetos en el mundo real (cosas, personas, etc.) con los cuales ellos están relacionados, por ejemplo: datos del cliente, datos del producto, entre otros.
Otras formas de representar entidades
El concepto de Entidad es análogo a las estructuras de datos en un lenguaje de programación tradicional, sistema o paradigma de programación. Aunque la correspondencia no es total, se pueden asociar entidades en las siguientes situaciones:
[pic 1]
Clases: En el mundo orientado a objeto, las clases son entidades a representar en el Sistema. Muchas de estas entidades deben ser persistentes y almacenarse en una Base de Datos.
XML/JSON: Estos formatos muchas veces guardan información acerca de entidades que potencialmente serán guardadas en la base de datos.
[pic 2]
[pic 3]
Diccionario o arreglos asociativos: Son estructura de datos que guardan un conjunto de claves con sus valores en un contexto y se usan en lenguajes tales como Python y Ruby. En este caso cada clave sirve como un atributo y la estructura completa como una entidad.
Archivos CSV: Muchos sistemas aún trabajan con archivos que guardan información en formato CSV, donde cada línea del archivo representa una instancia de una entidad.
[pic 4]
La identificación de entidades en otros contextos facilita el análisis para decidir qué información se debe guardar en la base de datos, por lo tanto el hecho de tener experiencia en el desarrollo de programas en uno o varios lenguajes de programación puede ser útil a la hora de identificar los datos.
Convenciones de nombre
Cuando identificamos datos es importante seguir estándares para los nombres de los elementos que estamos definiendo en nuestra base de datos. Existen varias convenciones que se han heredado de los lenguajes de programación, las cuales pueden ser usadas en el contexto de las bases de datos. Es importante proponer un estilo, y mantener esa convención a lo largo del proyecto.
Tenemos algunas decisiones que tomar:
- Idioma: ¿En qué idioma vas a nombrar tus entidades? por ejemplo en español. Recuerda que si tomas lenguajes distintos al inglés debes omitir cualquier caracter específico para ese idioma, tal como “ñ” o la tilde en el idioma español, ya que muchos lenguajes de programación o aplicaciones de software pueden tener problemas con estos caracteres. Por ejemplo, debes escribir “descripcion” en lugar de descripción, y “anho” en lugar de año.
- Singular o Plural: Definir si una entidad o atributo se escribirá en plural o singular.
- Usar Prefijos: Si se quiere algún prefijo para los elementos. Ejemplo: HotelNombre para referir al nombre del Hotel, es decir, usar el prefijo Hotel para todos los atributos del Hotel y así mismo con todas las entidades.
- Abreviaciones: Si deseas abreviar algún término o no.
- El tipo de estándar para nombramiento de una o más palabras: (Es importante resaltar que en estos estilos no se considera el espacio en blanco)
- PascalCase: La primera letra de cada palabra comenzará con mayúsculas. Por ejemplo: Persona, FechaDeNacimiento.
- camelCase: Igual que PascalCase, pero la primera palabra comienza por minúscula. La primera letra de cada palabra restante comenzará con mayúsculas. Por ejemplo: Persona, fechaDeNacimiento
- snake_case: Todas las letras en minúscula. Si es un elemento formado por más de una palabra, estas palabras se separarán por guion bajo `_`. Por ejemplo: persona, fecha_de_nacimiento
- UPPERCASE: Todo en mayúscula sin importar la cantidad de palabras. Por ejemplo:PERSONA, FECHADENACIMIENTO
- lowercase: Todo en minúsculas sin importar la cantidad de palabras. Por ejemplo: persona, fecha_de_nacimiento
[pic 5]
Ejemplo de convención:
Una vez entendidos los diferentes estilos para escribir, decidimos lo que queramos y lo asumimos como estándar para el equipo de trabajo. Por ejemplo:
- Trabajaremos en español sin caracteres especiales.
- Entidades en singular, atributos en singular.
- Sin prefijos.
- snake_case para atributos, PascalCase para entidades.
- Sin abreviaciones, usar nombres que describan el elemento sin necesidad de explicación por una documentación.
De esta manera tendremos definidos los estándares y un ejemplo del resultado sería:
Entidad: Persona
- id
- nombre
- fecha_de_nacimiento
Entidad: TipoDeHabitacion
- id
- nombre
- capacidad
- permite_fumar_dentro_de_la_habitacion
[pic 6]
[pic 7]
Documentos JSON: Embebido versus Por Referencias
En las Bases de Datos No Relacionales Orientadas a Documentos podemos tener documentos dentro de otros documentos. Esto hace a este tipo de base de datos particularmente interesante a la hora de modelar situaciones donde los datos se pueden organizar de forma jerárquica. Por ejemplo, los Blogs usualmente se estructuran de esta manera, ya que un blog contiene publicaciones y las publicaciones tienen comentarios que la audiencia realiza. Este caso se ajusta a nuestra visión de estructura jerárquica.
Los documentos JSON tienen dos formas de permitir que los documentos estén definidos dentro de otros documentos: el enfoque embebido y el enfoque por referencias. En el enfoque embebido un documento se encuentra dentro de otro; mientras que en el enfoque por referencias los documentos se encuentran separados y se usan referencias para establecer relaciones entre ellos.
Aunque no existe un consenso en cuanto a cuándo usar un enfoque o el otro, sí hay un conjunto de buenas prácticas, las cuales pueden ayudar a determinar el método a usar en un contexto y situación particular.
...