Autor: Gianinna Salazar.
Competencia: Aplica las Ciencias de la ingeniería (Nivel 1).
Asignatura: Introducción a los Sistemas de Base de Datos.
Palabras clave: Informe, lenguaje SQL y programa MySQL.
Competencia: Aplica las Ciencias de la ingeniería (Nivel 1).
Asignatura: Introducción a los Sistemas de Base de Datos.
Palabras clave: Informe, lenguaje SQL y programa MySQL.
Descripción de la Actividad
Les voy a compartir mi experiencia, como estudiante de 1er año de Ingeniería civil informática, sobre la vez que tuve que realizar un informe sobre el Capítulo 4 del libro Oreilly Head First SQL.
El informe consistía en realizar una tabla de la vida cotidiana del capitulo 4 incorporar todos los contenidos que se encuentran en este, explicando cada uno de ellos, realizando sentencias en SQL y evidenciando imágenes de salida de las sentencias.
El informe consistía en realizar una tabla de la vida cotidiana del capitulo 4 incorporar todos los contenidos que se encuentran en este, explicando cada uno de ellos, realizando sentencias en SQL y evidenciando imágenes de salida de las sentencias.
Solución
Lo primero es leer el capitulo 4, anotar las cosas relevantes de este, buscar información de contenidos que no se explican completamente y luego generar el informe.
Modificando tablas
Características para responder: Son datos distintos a los datos para identificar y que son básicamente la necesidad o la finalidad para lo que fue creada nuestra base de datos.
Normalización
Glosario
Este trabajo me sirvió para darme cuenta que los buenos diseños de bases de datos nos garantizan un sistema duradero y eficaz. El ocupar gran tiempo en su creación sin duda es una inversión ya que así corremos menos riesgos de caer en errores que muchas veces suelen ser comunes y que aquejan a muchas bases de datos actuales.
Lo primero es leer el capitulo 4, anotar las cosas relevantes de este, buscar información de contenidos que no se explican completamente y luego generar el informe.
Diseño de tablas.
Luego de haber diseñado una base de datos, debemos crear las tablas que almacenarán nuestros datos. Generalmente, los datos se almacenan en tablas permanentes; no obstante, también se pueden crear tablas temporales estas son similares a las permanentes, salvo por el hecho de que las tablas temporales se almacenan en tempdb y se eliminan automáticamente cuando ya no se utilizan. Podemos hacer uso de estas dependiendo de la necesidad que tengamos.
Las tablas se almacenan en los archivos de base de datos hasta que se eliminan, y están disponibles para cualquier usuario que cuente con los permisos necesarios.
Algunos puntos a tener en cuenta a la hora de creación de la tabla pueden ser:
Redundancia de datos
Redundancia de datos
Otro punto importante en el diseño de tablas es no entrar en la redundancia de datos. Esto es algo que hay que evitar, ya que dificulta la tarea para modificar los datos. Además no es conveniente hacer redundancia ya que requiere un mayor espacio de almacenamiento y esto influye en mayor costo y mayor tiempo de acceso a los datos. La Inconsistencia solo puede ocurrir cuando hay redundancia de datos.
Inconsistencia de datos
Inconsistencia de datos
Existen diferentes maneras de adquirir la misma información y esas formas pueden dar unos datos almacenados en distintos sitios. El problema surge al cambiar esa información, si sólo cambiamos esos valores en algunos de los lugares en que se almacenan, las consultas que hagamos después podrán dar respuestas inconsistentes.
Integridad de datos
Integridad de datos
La integridad suele producirse cuando varios usuarios están modificando datos de la misma base de datos a la vez. Por ejemplo, un usuario crea un nuevo registro, mientras otro edita uno de los existentes, y un tercero borra otro. El MySQL debe asegurar que se pueden realizar estas tareas sin que se produzcan errores que afecten a la integridad de la base de datos.
Modificando tablas
Después de creadas una tabla, tenemos la opción de poder cambiar muchas de las opciones que fueron definidas cuando se creó originalmente. De las que podemos destacar las siguientes:
- Agregar, modificar o eliminar columnas.
- Agregar o eliminar restricciones PRIMARY KEY y FOREIGN KEY.
- Agregar o eliminar restricciones UNIQUE y CHECK, así como definiciones DEFAULT y objetos.
- Entre otras.
Podemos agregar columnas a las tablas existentes siempre que la columna permita valores NULL o se cree una restricción DEFAULT para la columna. Cuando se agrega una nueva columna a una tabla, el DBME (Motor de base de datos) inserta un valor en dicha columna para cada fila de datos de la tabla. Por este motivo, resulta útil agregar una definición DEFAULT a la columna cuando se agrega a la tabla. Si no hay ninguna definición DEFAULT para la nueva columna, deberá especificar que la nueva columna acepte valores NULL.
El DBME (Motor de base de datos) insertará valores NULL en la columna o devolverá un error si la nueva columna no acepta valores NULL.
Por el contrario, se pueden eliminar columnas de tablas existentes, excepto columnas con las siguientes características:
1. Se utiliza en un índice.
2. Se utiliza en una restricción CHECK, FOREIGN KEY, UNIQUE o PRIMARY KEY.
3. Está asociada a una definición DEFAULT o enlazada a un objeto predeterminado.
4. Está enlazada a una regla.
5. Está registrada para la compatibilidad con texto.
6. Se utiliza como Primary key de una tabla.
Asimismo, puede cambiar el nombre de una tabla. Cuando lo haga, también deberá cambiar el nombre de la tabla en todos los desencadenadores, procedimientos almacenados, scripts u otros códigos de programación que utilicen el nombre o esquema anterior de la tabla.
Identificar Características
Las necesidades en un principio pensadas para nuestro problema y posterior creación de nuestra base de datos, contemplaban principalmente la dificultad de contacto con nuestros compañeros debido a la poca información que poseíamos de cada uno de ellos.
Para ello incluimos en nuestra base de datos “datos” de tipo personales que nos permitieran identificar a cada persona.
Los datos que escogimos fueron:
Nombre, Apellido, Edad, Sexo, Teléfono, Ciudad, Estado civil, E-mail.
Dentro de esto podemos distinguir 2 características:
Características para identificar: Son datos que como su nombre lo dice su finalidad en nuestra tabla es solo para la identificación de cada persona.
Normalización
Buenos identificadores:
Para el orden y la eficaz búsqueda surge la necesidad de contar con conjuntos de buenos identificadores que nos permitan diferenciar un dato de otro.
Usando de ejemplo nuestra tabla, nosotros contábamos con un identificador clave que era auto-incrementable (1, 2, 3, 4 etc.…) pero para nuestra necesidad no nos servía. Ya que para nuestros datos eran necesaria un identificador único para cada fila.
Por lo cual eliminamos la columna “id_agenda” y insertamos una nueva columna que llamamos “RUT” con un Tipo de Dato Varchar (10).
El RUT a diferencia de la id_agenda si nos servía como un identificador único de búsqueda para cada persona. Y designamos a este objeto como “Primary key”.
Glosario
PRIMARY KEY:
Esta cláusula se utiliza para definir la columna como clave principal de la tabla. Esto supone que la columna no puede contener valores nulos ni pueden haber valores duplicados en esa columna, es decir que dos filas no pueden tener el mismo valor en esa columna. En una tabla no pueden haber varias claves principales, por lo que no podemos incluir la cláusula PRIMARY KEY más de una vez, en caso contrario la sentencia da un error. No hay que confundir la definición de varias claves principales con la definición de una clave principal compuesta por varias columnas, esto último sí está permitido y se define con una restricción de tipo 2.
FOREIGN KEY:
Una clave externa (FK) es una columna o combinación de columnas que se utiliza para
establecer y exigir un vínculo entre los datos de dos tablas. Puede crear una clave externa
mediante la definición de una restricción FOREIGN KEY cuando cree o modifique una
tabla. En una referencia de clave externa, se crea un vínculo entre dos tablas cuando las columna de una de ellas hacen referencia a las columnas de la otra que contienen el valor de clave principal. Esta columna se convierte en una clave externa para la segunda tabla.
CHECK:
Actúa como una cláusula where. Puede hacer referencia a una o más columnas, pero no a valores de otras filas. En una cláusula CHECK no se pueden incluir subconsultas ni las Pseudoconsultas SYSDATE, UID y USER.
NOT NULL:
Indica que el campo obligatoriamente no puede estar vacío.
NULL:
Indica que el campo puede o no estar vacío, no es obligación de que contenga algún tipo de Dato.
Reflexión
Este trabajo me sirvió para darme cuenta que los buenos diseños de bases de datos nos garantizan un sistema duradero y eficaz. El ocupar gran tiempo en su creación sin duda es una inversión ya que así corremos menos riesgos de caer en errores que muchas veces suelen ser comunes y que aquejan a muchas bases de datos actuales.
El buen diseño me permitirá no solo una búsqueda más eficaz, sino que también facilitara el ingreso de nuevos datos a la tabla o la edición de esta.
Y una cosa muy importante es que mientras más uno se interioriza en las bases de datos más necesaria será tener claridad absoluta de todo lo que se ha presentado y así simplemente facilitarme a mismos esa tarea.
No hay comentarios:
Publicar un comentario