bases_de_datos_taller

Anuncio
¿Defina que es una normalización de una base de datos?
El proceso de normalización de bases de datos consiste en aplicar una serie de
reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al
modelo relacional.
Las bases de datos relacionales se normalizan para:
▪ Evitar la redundancia de los datos.
▪ Evitar problemas de actualización de los datos en las tablas.
▪ Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que
una tabla sea considerada como una relación tiene que cumplir con algunas
restricciones:
▪ Cada tabla debe tener su nombre único.
▪ No puede haber dos filas iguales. No se permiten los duplicados.
Todos los datos en una columna deben ser del mismo tipo.
¿para que sirve la normalización después de creada la base de datos?
Las bases de datos relacionales se normalizan para:
▪ Evitar la redundancia de los datos.
▪ Evitar problemas de actualización de los datos en las tablas.
▪ Proteger la integridad de los datos.
¿Defina los niveles mas usados en la normalización y explique porque? Y de un
ejemplo de primera normalización, de un ejemplo de segunda normalización y de
un ejemplo de tercera normalización
Entidad: Cada entidad es una tabla donde cada atributo será una columna de la
tabla y la clave primaria será la clave de la entidad.
Entidad débil:Cada entidad débil equivale a una tabla donde cada atributo será
una columna de la tabla y la clave primaria será la clave de la entidad de la que
depende más los atributos que sirvan como discriminadores si es que los hay.
Relaciones 1 a 1: No generan una tabla. En la mayoría de los casos la entidad
dependiente genera una tabla en la que la clave primaria será la clave de la
entidad de la que depende.
Relaciones 1 a N: Como ocurre en las relaciones 1 a 1 no generan una tabla por si
mismas. Lo que se hace es incluir en la tabla de la parte “N” una clave extranjera
para referenciar a la otra tabla (la de la parte 1).
Relaciones N a M: Generan una tabla que incluye las claves de las entidades que
se relacionan más los atributos descriptivos de la relación. En general la clave de
esta tabla es la unión de estas claves, aunque dependiendo del caso los atributos
descriptivos también pueden formar parte de la clave.
Primera forma normal
Una tabla está en 1FN si el valor que contiene una columna de un registro
(atributo), es único y elemental. Es decir sólo se puede incluir un dato, aunque sea
compuesto, pero no se pueden incluir una lista de datos.
Por ejemplo: Un dispositivo RSU ejecuta una serie de algoritmos sobre los datos
recolectados, esto podríamos representarlo de varias formas:
Esta tabla no está en forma normal puesto que tiene una lista de datos
“camuflada” como campo.
La forma correcta sería sacar la lista a otra tabla y relacionarlas con una Foreign
Key:
TipoCarril Troncal Troncal
I
Via
D
1
AP1
PuntoKilométrico
Sentido
TipoCarril
Algoritmos
180
Creciente
Troncal
prob_nieve;prob_lluvia;prob_niebla
I
Via
D
PuntoKilométrico
Sentido
1
AP-1
180
Creciente
2
AP-6
210
Creciente
ID
Algoritmo
1
prob_nieve
1
prob_lluvia
1
prob_niebla
2
otro_algoritmo
Como guía, una tabla NO estará en 1FN si ocurre que:
▪ No tiene clave primaria
▪ Una vista cuya definición exige que los resultados sean retornados en un orden
particular, de modo que el orden de la fila sea un aspecto intrínseco y
significativo de la vista.
▪ Una tabla con por lo menos un atributo que pueda ser nulo. Segunda forma
normal Para entender esta forma normal primero hay que comprender que
es la dependencia funcional. Se dice que un atributo o conjunto de
atributos tiene dependencia funcional de otro u otros si a cada uno de los
primeros le corresponde sólo uno de los segundos. Una tabla está en
Segunda Forma Normal cuando está en 1FN y todo atributo que no
pertenece a la clave primaria tiene una dependencia funcional de la clave
completa y no de parte de ella. Si la clave principal está formada por un
solo atributo y está en 1FN, automáticamente estaría Página 14 de 16
Revisión: 3
en 2FN.
Ejemplo:
Supongamos que una estación meteorológica tiene asociadas
N variables de tipo analógico:
En este caso las unidades y sus valores mínimos y máximos dependen del tipo de
variable, es decir, de la temperatura y no de el tipo de variable mas estación a la
que pertenezcan. Esta tabla NO esta en 2FN.
Imaginad que hay un error y actualizando la tabla se obtiene una inconsistencia
que dice por un lado que la temperatura se mide en grados y por otro lado dice
que se mide en Pascales. Eso no pasaría si solo hay una entrada para cada
definición de variable.
Esto se solucionaría partiendo la tabla en otras dos de la siguiente forma: En
primer lugar la definición de variables:
En segundo lugar la asociación entre estación y variables para esa estación:
VariableAnalogica
EstacionMetereologica
Unidades
ValorMinimo
ValorMáximo
Temperatura
1
Grados
-10
60
Temperatura
2
Grados
-10
60
Humedad
1
Porcentaje
0
100
Humedad
2
Porcentaje
VariableAnalogica
Unidades
ValorMinimo
ValorMáximo
Temperatura
Grados
-10
60
Humedad
Porcentaje
0
100
EstacionMeteo
Variable
1
Temperatura
1
Humedad
2
Temperatura
2
Humedad
0
100
Tercera forma normal
De nuevo es necesario conocer un concepto más. El concepto de dependencia
funcional transitiva.
Se dice que hay dependencia funcional transitiva entre dos atributos cuando un
atributo que no pertenece a la clave primaria permite conocer el valor de otro
atributo.
Ejemplo:
En una tabla con columnas “Variable”, “Unidades” y “Escala”
Aquí tenemos un ejemplo de dependencia funcional transitivia puesto que dada la
escala podemos deducir que las unidades son grados y no Kilos o Newtons.
Diremos que una tabla está en 3FN si está en 2FN y no existen atributos que no
pertenezcan a la clave primaria que puedan ser conocidos mediante otro atributo
que no forma parte de la clave primaria.
Para evitar esta dependencia funcional transitiva partiríamos la tabla como sigue:
Variable
Unidades
Escala
Temperatura
Grados
Farenheit
Temperatura
Grados
Celsius
Variable
Escala
Temperatura
Farenheit
Escala
Unidad
Farenheit
Grados
Celsius
Grados
indique porque es tan importante la clave primaria y secundaria en una
normalización
Una clave segundaria es una superclave que no contiene ningún subconjunto
propio que sea a su vez superclave.
Una clave primaria es la clave candidata elegida por el diseñador para distinguir a
cada entidad.
Que es un gestor de datos?
El propósito general de los sistemas de gestión de bases de datos es el de
manejar de manera clara, sencilla y ordenada un conjunto de datos que
posteriormente se convertirán en información relevante para una organización.
cuales son la partes de un gestor de datos
▪ Abstracción de la información. Los SGBD ahorran a los usuarios detalles
acerca del almacenamiento físico de los datos. Da lo mismo si una base de
datos ocupa uno o cientos de archivos, este hecho se hace transparente al
usuario. Así, se definen varios niveles de abstracción.
▪ Independencia. La independencia de los datos consiste en la capacidad de
modificar el esquema (físico o lógico) de una base de datos sin tener que
realizar cambios en las aplicaciones que se sirven de ella.
▪ Consistencia. En aquellos casos en los que no se ha logrado eliminar la
redundancia, será necesario vigilar que aquella información que aparece
repetida se actualice de forma coherente, es decir, que todos los datos
repetidos se actualicen de forma simultánea. Por otra parte, la base de
datos representa una realidad determinada que tiene determinadas
condiciones, por ejemplo que los menores de edad no pueden tener licencia
de conducir. El sistema no debería aceptar datos de un conductor menor de
edad. En los SGBD existen herramientas que facilitan la programación de
este tipo de condiciones.
▪ Seguridad. La información almacenada en una base de datos puede llegar a
tener un gran valor. Los SGBD deben garantizar que esta información se
encuentra segura de permisos a usuarios y grupos de usuarios, que
permiten otorgar diversas categorías de permisos.
▪ Manejo de transacciones. Una transacción es un programa que se ejecuta
como una sola operación. Esto quiere decir que luego de una ejecución en
la que se produce una falla es el mismo que se obtendría si el programa no
se hubiera ejecutado. Los SGBD proveen mecanismos para programar las
modificaciones de los datos de una forma mucho más simple que si no se
dispusiera de ellos.
Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el
SGBD demora en proporcionar la información solicitada y en almacenar los
cambios realizados.
cuales nos lo beneficios al trabajar una base de datos en mysql
Usted obtiene los siguientes beneficios al diseñar de forma adecuada una base de
datos MySQL:
* Velocidad - Dado que la base de datos es eficiente y utiliza los datos correctos y
tipos de caracteres de longitud, mejorará la velocidad de consulta.
* Seguridad - La seguridad mejora, ya que permiten a los datos específicos se
almacenan en la base de datos MySQL, y nada más.
* Eficiencia del espacio de almacenamiento - Ya que está desarrollando una base
de datos que es puramente basado en especificaciones de los datos, no habrá
bytes o caracteres innecesarios almacenados en la base de datos MySQL. Esto
ahorra espacio en disco.
mencione al menos 10 tipos de datos que puede soportar una base de datos en
mysql?
Los tipos de datos de MySQL más comúnmente utilizados son VARCHAR,
DECIMAL, DATE, INT, TEXT , TIMESTAMP, DOUBLE, FLOAT,TIME y YEAR
enuncie 5 aplicaciones de bases de datos actuales robustas para poder editar
una base de datos relacional
Sistemas libres
▪ PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD
▪ Firebird basada en la versión 6 de InterBase, Initial Developer's PUBLIC
LICENSE Version 1.0.
▪ SQLite (http://www.sqlite.org SQLite) Licencia Dominio Público
▪ DB2 Express-C (http://www.ibm.com/software/data/db2/express/)
▪ Apache Derby (http://db.apache.org/derby/)
▪ MariaDB (http://mariadb.org/)
▪ MySQL (http://dev.mysql.com/)
▪ Drizzle (http://www.drizzle.org/)
Sistemas no libres
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
MySQL:
Advantage Database
dBase
FileMaker
Fox Pro
gsBase
IBM DB2: Universal Database (DB2 UDB)
IBM Informix
Interbase de CodeGear, filial de Borland
MAGIC
Microsoft Access
Microsoft SQL Server
NexusDB
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
Sybase ASA
Sybase IQ
PARA QUE SIRVE LOS SIGUIENTES COMANDOS EN MYSQL:
Crear una base de datos:
create database nombre_base;
Uso de una base de datos
Use database;
Para mostrar las bases de datos disponibles:
show databases [like patrón _ búsqueda]
modificar de registros: para modificar filas de una tabla se utiliza la expresión:
modificaly [low_priory] from nombre_tabla [where expresión][limit n]
Descargar