Apuntes
Teórica 1
Contenido del apunte (3)
Página 1
Un dato es el registro de algo que existe o es o sucede en el mundo.
Usamos símbolos para representar esos datos: números, 0 y 1, string, etc.
Si el registro es digital entramos en el mundo virtual, tenemos un dato digital.
Nosotros le asignamos significado a los datos, de acuerdo a de dónde los extragimos o para que los usamos.
Cuando creamos una base de datos estamos pensando en un conjunto de usuraios en particular y con objetivos específicos.
Se diseña, construye y puebla con datos para un propósito específico:
- Grupo de usuarios destinados.
- Aplicaciones preconcebidas en la que los usuarios están interesados.
La base de datos es independiente de cómo la almaceno (o debería).
Cuánto me puedo independizar de dónde guardo los datos en la capa baja de cómo los utilizo o accedo.
Sistemas de Administración de Bases de Datos
Un DBMS es un sistema (de software) para el manejo y administración de bases de datos:
-Capacidad de administrat datos persistentes.
-Habilidad de acceder a grandes cantidades de datos de manera eficiente.
Soporte para al menos un modelo de datos, permitiendo vistas abstractas a los usuarios.
Soporte para lenguajes de alto nivel para definir, estructuras y manipular datos, y el acceso a datos (consuktas)
Administración de transacciones, la habilidad de acceso correcto y concurrente a muchos usuarios a la vez.
Control de acceso, la habilidad de limitar el acceso y chequear validez de los datos.
Resiliencia, la habilidad de recuperarse ante fallas del sistema, sin perder datos.
Modelo de Datos
Es un modelo (representación) abstracto que organiza elementos de datos y estandariza cómo se relacionan entre sí y con las propiedades de las entidades del mundo real.
Permite ver la información no como bits en bruto, sino en términos más entendibles para los usuarios.
Determina explícitamente la estructura (idealmente solo lógica) de los datos.
Suelen ser especificados por un especialista en datos.
A menudo se utilizan notaciones en forma gráfica.
Un modelo de bd es una especificación que describe cómo se estructura y se utiliza una base de datos.
Modelo de Datos de Red
Se pueden perder datos (los punteros)
Modelo de Datos Jerárquico
Problemas
Duplicación: inconcistencia. Ejemplo: hay que cambiar algo, hay que hacerlo en mucho partes, confuciones con mayúsculas, etc.
Modelo no es independiente de la implementación física, si cambio la estructura tengo que cambiar la API y las querys
Modelo relacional
Base se organiza en una estructura simple: relaciones
Acceso a través de un lenguaje de alto nivel: operar a nivel de conjuntos
El almacenamiento físico queda para la implementación
Se usan punteros lógicos, clave foranea.
Página 2
LENGUAJES DE CONSULTA Y DEFINICION DE DATOS
Los DBMSs proveen lenguajes de consultas y de definición de datos para facilitar el acceso a los registros.
Dsitintos tipos de lenguaje difieron en el nivel de detalle que el usuario debe expresar.
Los lenguajes basados en el modelo relacional requieren menos detalles que otros.
Lenguaje de consulta: agregar/modiciar/borrar registros.
Lenguaje de definición: crear/modificar/borrar relaciones, índices.
ADMINISTRACION DE TRANSACCIONEES
Transacciones son procedimientos que se ejecutan en la BD: leyendo o modificando registros.
Un DBMS tiene la capacidad de administrar transacciones simultaneas.
Algunas BD son tan grandes que tienen que ser operadas simultáneamente por muchos usuarios, a veces dispersas geográficamente.
A veces los accesos no interfieren entre si: ej varios usuarios "leyendo" el saldo de una cuenta de banco al mismo tiempo.
El DBMS debe proveer alguna forma de control de concurrencias para coordinar los accesos a datos.
En DBMS distribuidos aparecen aún problemas más complejos:
involucran duplicación o fragmentación de los datos para permitir accesos locales más rápidos-
-redundancia para poder recuperarse de fallas del sistema sin perder datos, etc
SEGURIDAD DE DATOS
Un DBMS debe también proteder los datos de accesos no autorizados.
Un DBMS debe proveer un conjunto de herramientas para:
Asociar diferentes usuarios privilegiados para ver ciertas relaciones, ciertos campos, u otros subconjuntos de datos en la BD.
Definir vistas pertinentes en relación a esos permisos y otros accesos customizados.
NIVELES DE ABSTRACCIÓN
Esquema conceptual: Nos deja ver la estrucutra lógica. Cada modelo tiene distintas herramientas. Modelo relacional, etc. Modelo entidad relación, abstrae las cosas del mundo en dos tipos: entidades o relaciones.
Esquema interno:
Cada nivel implica que hay un mapeo, traducción que la hace el DBMS, automática o con mano del DBA.
Debajo tenemos el sistema de archivo, los índices, etc.
BD física: una colección de archivos, índices y otras estructuras de almacenamiento.
Usadas para acceder a los datos de manera eficiente.
Reside permanentemente en dispositivos de almacenamientos.
Distintas BD físicas pueden ser administradas por el mismo sistema de software de la administración, por el mismo DBMS.
Todo lo que hacemos a ese nivel está diseñado para acceder a los datos de la manera más eficiente posible.
BD conceptual: Es una abstracción del mundo real que la BD intenta representar.
El DBMS provee uno (o varios) modelo de datos, es decir una representación conceptual de los datos que no incluye muchos de los detalles de cómo son guardados o accedidos.
El modelo de datos relacional por ejemplo, incluye conceptos lógicos, sus propiedades y sus relaciones, haciendo más fácil entender el problema o odminio (el usuario no necesita saber de archivos, registros, índices, etc.)
Los modelos de datos nos dan una concepción lógica de los datos, que podemos mapear al mundo real.
TRANSPARENCIA DE DATOS
El modelo conceptual provee independencia entre fatos lógicos y su representación física.
Independencia física: capacidad del sistema de ejecutar cambios sobre la definición y la estructura de los datos sin que esto afecte la base de datos conceptual.
La independencia física es la capacidad del sistema que tiene de que se hagan cambios en la estrucutra fisica sin que afecte la manera en la que esta definida conceptualmente esa base de datos. Puedo cambiar archivos y las relaciones que le muestro al usuario son las mismas.
Vistas: es un sub-esquema del modelo de datos conceptual o una abstracción del mismo. Ej: una tabla parcial.
Los DBMS en general proveen herramientas para declarar vistas, mediante el lenguaje de definición o el lenguaje de consultas (ej tablas temporales).
El nivel de vista acircunscribe lo que un usuario ve de la bd.
Se utiliza para proveer políticas de acceso, vista globales conjuntas de varios esquemas, mapeos entre esquemas, etc.
Las aplicaciones de SW que se conectan a un DBMS también pueden pensarse que lo hacen a un nivel de vista.
Independencia lógica: la capacidad del sistema de cambiar el esuqema conceptual, sin cambiar la vista lógica que el usuario tiene de los datos.
Ej: agregar o borrar conceptos, relacion o atributos al modelo conceptual sin tener que reescribir programas de aplicación o vistas previamente definidas.
Página 3
DISEÑO DE BD
Pensarlo como diseño de SW.
Qué quiere representar el usuario, lo que necesita.
Vamos a hacer un diseño conceptual. Vamos a hacer un diagrama de entidad de relacion. Nos importan las entidades y cómo se relacionan entre sí.
Hay un algoritmo que nos permite traducir ese diagrama a un conjunto de relaciones en el Modelo Relacional. Ahí definimos el esquema conceptual/lógico para nuestro DBMS en particular. En general modelo relacional.
MODELAMIENTO CONCEPTUAL
Una conceptualización es una vista abstracta y simplificada del mundo que queremos representar.
Cada BD está asociado a una conceptualización (explícita o implicitamente)
Lo que existe es lo que se representa.
El conocimiento de un dominio se representa en un formalismo declarativo, el universo del discurso:
Conjunto de entidades, sus relaciones y restricciones, importantes para describir el problema/dominio.
Nos enfocaremos en el Modelo Entidad Relación (MER)
MER: Es un modelo conceptual de alto nivel: permite analizar los requerimientos de datos sistemáticamente para producir una BD bien diseñada.
El MER representa entidades del mundo real y sus relaciones entre ellas.
Es el diseño o el plan de una BD.
El Diagrama Entidad Relación (DER) es la herrameinta gráfica que permite visualizar las entidades del modelo y sus relaciones:
Ayuda a explicar visualmente la estructura lógica de una base de datos.
PASOS PARA ARMAR UN DER.
Identificar Entidades.
Una entidad es una cosa del mundo real con una existencia independiente.
Cosas que existen por sí sola.
Es cualquier cosa del negocio que necesite representarse en la base de datos:
puede ser una cosa física, hecho sobre el negocio, o un evento que sucede en el mundo.
Un conjunto de entidades similares (con las mismas características) forman una clase o tipo de entidad.
Cada clase o tipo entidad posee características únicas (atributos) que la representan como tal.
Todas las instancias de una clase o tipo entidad tienen las mismas características pero tienen distintos valores para ellas.
Identifiacar Atributos
• Si un atributo parece pertenecer a mas de una entidad:
– Identificar un modificador que lo haga únicos.
– Puede pertenecer a una relación entre entidades.
– Puede que sea un relación en si mismo.
Atributos simples
Compuestos: se puede descomponer en otros atributos.
Buena práctica: descomponerlos en atributos arómicos.
No deberíam guardarse en la BD física, pueden computarse en vistas.
Atributos derivados: se pueden computar a partir de otros atributos, ej: edad computarla de la fecha de nacimiento.
No deberían guardarse en la BD física, pueden computarse en vistas.
Pueden traer problemas de actualización y consistencia.
Atributos multivaluados: propiedades que pueden tener más de un valor a la vez.
Si encontramos atributos multivaluados repensemos las características de la entidad.
No son buena idea. Pueden causar confusiones sobre el significados de los datos. Enlentencen las bpusquedas. Agregan restricciones en la cantidad de datos que pueden almacenarse.
Identificar llaves
Un tipo o clase entidad usualmente tiene uno o más atributos cuyos valores son distintos para cada individuo.
Estos atributos constituyen la llave/clave y puede usarse para identificar unívocamente cada individuo (en una entidad o en una relación)
A veces las claves son naturales, a veces creadas para el sistema en particular.
Identificar Relaciones
Las relaciones son asociadas entre (clases de) entidadres
Identidicar Cardinalidades
Definir los atributos numéricos de una relación entre dos entidades
Diferentes tipos de relaciones cardinales:
Relacion uno-a-uno
Relaciones muchos-a-muchos
Relaciones uno-a-muchos (muchos-a-uno)
Las relaciones pueden ser parciales o totales.
- Un subconjunto no vacío del universo de profesores puede no estar en relació con una materia: parical
- Toda materia tiene asociada exactamente un profesor: total.
Relaciones No Binarias
MER permite representar relaciones unarias y ternarias también.
En una relación unaria ambos parcicipante de la relación son la misma entidad.
Entidades Débiles
Son entidades que no existen por símisma y su llave esta construida total o parcialmente por la llave de la entidad de la que dependen. Ej: Materia - Unidades
MODELO DE DATOS RELACIONAL
En los modelos relacionales los registros se abstraen en relaciones (predicados - inspirados en la lógica de primer orden): ESTUDIANTE(id, nombre, dirección, fecha_nacimiento)
ESTUDIANTE es el nombre de la relación.
Los otros campos son atributos de la relación.
Los registros en la relación se denominan TUPLAS
Una relación es la abstracción de un conjunto de datos donde el tipo de los datos no es tan importantes y el orden entre las tuplas no está especificado.
Esquemas:
Esquema de bases de datos es una colección (no vacía y finita) de esquemas de relación-> signatura y vocabulario
Cada esquema de relación consiste de un nombre de relación y un conjunto de atributos (columnas)
Cada atributo A tiene un dominio dom(A) -> universo de A
Instancia:
Una base de datos es una colección de relaciones (tablas)-> estructura
Cada relación r es un conjunto finito de tuplas t (filas)
Cada tupla t en r es un mapeo de los atributos de r en el dominio de r (unión de los dominios de todos los atrbiutos en r) tal que t(A) perteneces dom(A) para todos los atributos de A de r.
Por cada entidad una tabla.
Por cada relación una tabla (menos relaciones uno-a-uno) con las llaves respectivas.
En relaciones uno-a-uno agrego una columna en alguna de la tabla de las entidades con la llave.
Una vez que tenemos el DER se aplica un algoritmo que te da el Modelo Relacional, las tablas. Tomando algunas decisiones.
Lo dificil es conceptualizar el dominio de datos, diseñar el DER.
Información
- Descripción
- Informática Apunte sobre Teórica 1, creado por Florencia Fabian el 18/08/2022.
- Creado por
- Florencia Fabian · ago 2022
- Actualizado
- 18 ago 2022
- Visitas
- 0
- Valoración