• Tidak ada hasil yang ditemukan

Bases de Datos

N/A
N/A
Kangaroo

Academic year: 2023

Membagikan "Bases de Datos"

Copied!
175
0
0

Teks penuh

Definir qué es una base de datos y qué es un sistema de gestión de bases de datos. Reconocer los subsistemas que forman parte de un sistema de gestión de base de datos.

Base de datos

Sistema de gestión de bases de datos

Un sistema de control de concurrencia que permite el acceso compartido a la base de datos. Un diccionario o catálogo de datos, accesible al usuario, que contiene la descripción de los datos en la base de datos.

Personas en el entorno de las bases de datos

Un lenguaje de definición de datos le permite definir vistas como subconjuntos de una base de datos. Un diseñador de bases de datos debe tener un conocimiento profundo de los datos de la empresa y también debe conocer sus reglas comerciales.

Historia de los sistemas de bases de datos

A diferencia de los sistemas pasivos, un sistema de gestión de base de datos activo responde automáticamente. La mayoría de los sistemas de gestión de bases de datos comerciales incluyen la capacidad de definir reglas, por lo que son sistemas activos en cierto sentido.

Ventajas e inconvenientes

La integridad de la base de datos se refiere a la validez de los datos almacenados. El esquema conceptual es una fuente de información para el diseño lógico de la base de datos.

Modelo relacional 13

Estructura de datos relacional

  • Relaciones
  • Propiedades de las relaciones
  • Tipos de relaciones
  • Claves

Para identificar las claves candidatas para una relación, no es necesario mirar un estado o instancia de la base de datos. Una clave foránea es un atributo o conjunto de atributos de una relación cuyos valores coinciden con los valores de la clave primaria de otra relación (puede ser la misma).

Esquema de una base de datos relacional

La tabla VENDEDORES contiene información sobre los vendedores de la empresa: un código que identifica a cada uno (codven), nombre y apellido (nombre), calle y número (dirección), código postal (codpostal), referencia de población (codpue) y referencia al vendedor de dependiente (codjefe) si aplica. La tabla ARTICULOS contiene un código que identifica un artículo individual (codart), su descripción (descrip), el precio de venta actual (price), el número de unidades del artículo en el almacén (stock), la cantidad mínima que se debe mantener en stock. (stock_min) y, si el artículo está en oferta, un descuento (descuento), que deberá aplicarse en el momento de la venta.

Reglas de integridad

  • Nulos
  • Regla de integridad de entidades
  • Regla de integridad referencial
  • Reglas de negocio

En la mayoría de los casos, el diseño de las aplicaciones no se puede completar hasta que se complete el diseño de la base de datos. Los archivos del sistema operativo deben estar separados de los archivos de la base de datos.

Lenguajes relacionales 29

Álgebra relacional

Ejemplo 3.9 Obtenga una lista de todos los clientes (código y nombre) y las facturas emitidas a ellos. La intersección da como resultado una relación que contiene tuplas en R que también están en S.

Cálculo relacional

  • Cálculo orientado a tuplas
  • Cálculo orientado a dominios

Pero si reemplazamos x con el nombre de una persona que no es vendedor de la empresa, la proposición es falsa. Esta fórmula bien formada dice que "existe un cliente que tiene el mismo código que el código de cliente en la tupla ahora en la variable FACTURAS, FX, y cuyo código postal es 12003".

Otros lenguajes

Actualice transacciones, inserte, elimine o actualice datos de la base de datos. El diagrama de la Figura 7.4 contiene información sobre profesores (código y nombre) y estudiantes (código y nombre).

Lenguaje SQL 41

Descripción de la base de datos

La tabla CLIENTE contiene los datos del cliente: el código que identifica a cada cliente (codcli), nombre y apellido (name), calle y número (dirección), código postal (codpostal) y una referencia a su ciudad (codpue). La tabla ARTÍCULOS contiene el código que identifica cada artículo (codart), su descripción (descripción), el precio de venta actual (price), el número de unidades del artículo en stock (stock), si se conoce, la cantidad mínima que se desea mantener en stock (stock_min), si lo hay, y si el artículo está en oferta, el descuento (descuento) que se aplicará cuando se venda.

Visión general del lenguaje

  • Creación de tablas
  • Inserción de datos
  • Consulta de datos
  • Actualización y eliminación de datos

Si la referencia apunta a la clave principal, no es necesario especificar el nombre de la columna a. A continuación, el * indica que desea ver el contenido de todas las columnas de la tabla solicitada.

Estructura básica de la sentencia SELECT

  • Expresiones en SELECT y WHERE
  • Nulos
  • Tipos de datos

DISTINCT: es un modificador que se aplica a la cláusula SELECT para que no se muestren filas repetidas en el resultado (esto solo puede ocurrir si la cláusula SELECT omite la clave principal de la tabla o parte de ella si es compuesta). Las columnas y expresiones especificadas en la cláusula SELECT se pueden renombrar cuando las muestra en el resultado usando AS.

Funciones y operadores

  • Operadores lógicos
  • Operadores de comparación
  • Operadores matemáticos
  • Funciones matemáticas
  • Operadores y funciones de cadenas de caracteres
  • Operadores y funciones de fecha
  • Función CASE
  • Funciones COALESCE y NULLIF
  • Ejemplos

Devuelve la subcadena de la cadena que comienza en la posición n (long especifica el tamaño máximo de la subcadena; si no se especifica, regresa al final). Si desea eliminar espacios en blanco innecesarios, utilice la función RTRIM.

Operaciones sobre conjuntos de filas

  • Funciones de columna
  • Cláusula GROUP BY
  • Cláusula HAVING
  • Ejemplos
  • Algunas cuestiones importantes

Como muestra el ejemplo, es posible utilizar expresiones en la cláusula GROUP BY. Además, puede incluir funciones de grupo en estas cláusulas que operan en columnas que no aparecen en la cláusula GROUP BY.

Subconsultas

  • Subconsultas en la cláusula WHERE
  • Subconsultas en la cláusula HAVING
  • Subconsultas en la cláusula FROM
  • Ejemplos
  • Algunas cuestiones importantes

El predicado se evalúa como verdadero si el resultado de la comparación es verdadero para la fila devuelta por la subconsulta. El predicado se evalúa como verdadero si no se encuentra ninguna fila coincidente en la subconsulta.

Consultas multitabla

  • La concatenación: JOIN
  • Sintaxis original de la concatenación
  • Ejemplos
  • Algunas cuestiones importantes

Esto es necesario cuando hay columnas con el mismo nombre en el resultado: el nombre de la tabla se especifica para evitar ambigüedades. Con LEFT/RIGHT OUTER JOINS, todas las filas de la tabla izquierda/derecha se muestran en el resultado;

Operadores de conjuntos

  • Operador UNION
  • Operador INTERSECT
  • Operador EXCEPT
  • Sentencias equivalentes
  • Ejemplos

En este caso, si una fila aparece m veces en el primer enunciado y n veces en el segundo, aparecerá m + n veces en el resultado. En este caso, si la misma fila aparece m veces en la primera oración y n veces en la segunda, esta fila aparecerá en el resultado min(m, n) veces.

Subconsultas correlacionadas

  • Referencias externas
  • Operadores EXISTS, NOT EXISTS
  • Sentencias equivalentes
  • Ejemplos

El diseño conceptual se basa en las especificaciones de los requisitos del usuario y el resultado es el esquema conceptual de la base de datos. Diseñar las vistas necesarias para brindar seguridad y facilitar la administración de la base de datos.

Diseño de bases de datos 94

Ciclo de vida

  • Planificación del proyecto
  • Definición del sistema
  • Recolección y análisis de los requisitos
  • Diseño de la base de datos
  • Selección del SGBD
  • Diseño de la aplicación
  • Prototipado
  • Implementación
  • Conversión y carga de datos
  • Prueba
  • Mantenimiento

Esta fase consta de tres fases: diseño conceptual, diseño lógico y diseño físico de la base de datos. En esta fase se diseñan los programas de aplicación que utilizarán y procesarán la base de datos.

Diseño de bases de datos

  • Diseño conceptual
  • Diseño lógico
  • Diseño físico

En esta etapa se debe construir un esquema de la información utilizada en la empresa, independientemente de cualquier consideración física. El esquema conceptual se construye utilizando la información que se encuentra en la especificación de requisitos del usuario.

Diseño de transacciones

Herramientas CASE

Ninguna de las claves foráneas aceptará nulo, ya que la tabla almacena las ocurrencias de la relación. Su determinante estará formado por los atributos de la clave primaria de la que depende.

Diseño conceptual 106

Entidades

Por ejemplo, puede agrupar el código de cliente y el nombre del cliente en una entidad denominada cliente y agrupar el número de factura, la fecha de factura y el IVA de la factura en otra entidad denominada factura. En el modelo de relación de entidades, las entidades se representan mediante un rectángulo que tiene el nombre de la entidad dentro.

Relaciones

La cardinalidad mínima indica si la participación de la entidad en la relación es opcional (indicada por 0) o requerida (indicada por 1). Que sea obligatorio implica que todas las ocurrencias de la entidad deben estar relacionadas con al menos una ocurrencia de la entidad que está del otro lado de la relación.

Atributos

De los alumnos del esquema de la figura 6.4 queremos saber el nombre, el DNI y la carrera que están estudiando. Si se conoce el lugar de nacimiento, el nombre de la ciudad y la fecha son importantes.

Dominios

Identificadores

Jerarquías de generalización

Si se trata de un seguro de automóvil, se conoce la matrícula del mismo. Finalmente, si la póliza es un seguro de hogar, se conoce la dirección de la vivienda asegurada.

Diagrama entidad-relación

Además, si una póliza es un seguro de vida, se conoce la información de sus beneficiarios (puede ser más de uno). Dado que un automóvil solo puede tener una póliza, su placa también es un identificador para él.

Recomendaciones

Los atributos simples están representados por pequeños círculos que están directamente relacionados con la entidad o relación con una línea que especifica la cardinalidad. Los atributos que no forman parte de un atributo compuesto deben unirse mediante líneas independientes en una entidad (no se hace correctamente, como se muestra en la Figura 6.12).

Ejemplos

Las tablas de las entidades secundarias heredan la clave principal de la entidad principal como su clave principal. Las tablas de referencia (tablas de consulta) son listas de posibles valores de una o más columnas de la base de datos.

Diseño lógico relacional 125

Metodología de diseño

  • Entidades fuertes
  • Entidades débiles
  • Relaciones binarias
  • Jerarquías de generalización
  • Normalización

Para hacer esto, la clave principal de la tabla que representa la entidad fuerte (padre) se incluye en la nueva tabla creada para la entidad débil. Para pasar una tabla en 1fn a 2fn, debe eliminar las dependencias parciales de la clave principal.

Restricciones de integridad

Qué hacer cuando desea cambiar la clave principal de una fila a la que hace referencia otra fila a través de una clave externa. Cuando se selecciona la propagación, la clave principal en la fila deseada se actualiza y el cambio se propaga a los valores de clave externa que lo referenciaron.

Desnormalización

Para evitar operaciones JOIN entre tablas, puede incluir atributos de una tabla principal en una tabla secundaria en una relación de uno a varios. Para evitar algunos de estos JOIN, puede incluir algunos atributos de las tablas originales en la tabla intermedia.

Reglas de comportamiento de las claves ajenas

Nuevamente, esta opción solo es posible si la clave externa tiene un valor predeterminado. Esta clave foránea también será una clave candidata (puede ser una clave primaria o cualquier otro identificador alternativo).

Cuestiones adicionales

Ejemplos

Las tablas obtenidas están en 3 fn (no hay dependencias funcionales no deseadas). Obtenga un conjunto de declaraciones para crear las tablas de la base de datos y mantener las restricciones que se deben cumplir en ellas.

Diseño físico en SQL 153

Traducir el esquema lógico

A continuación se muestra un ejemplo de cómo crear las tablas FACTURAS y LINEAS_FAC (con las que trabajamos en el Capítulo 4) utilizando la especificación SQL del DBMS PostgreSQL gratuito. Un ejemplo de esto se puede ver en las sentencias de creación de tablas FACTURAS y LINEAS_FAC, en la columna dto.

Diseñar la representación física

Cree un índice para las claves externas que se usan con frecuencia en las operaciones JOIN. Cree un índice sobre los atributos que se usan a menudo para hacer restricciones DONDE (son condiciones de búsqueda).

Diseñar los mecanismos de seguridad

Esto es especialmente importante si está comprando nuevos equipos informáticos.

Monitorizar y afinar el sistema

Vistas

En la arquitectura de tres niveles estudiada, la vista externa se describe como la estructura de la base de datos tal como la ve un usuario en particular. Una vista es el resultado dinámico de una o más operaciones relacionales realizadas en las tablas.

Referensi

Dokumen terkait

Mini Observational : Characteristic Secondary Glaucoma after Pars Plana Vitrectomy Surgery in Rhegmatogenous Retinal Detachment Patients in Cicendo Eye Hospital in