Libro Base de Datos Traducido

@adriisml TRADUCCIÓN DEL LIBRO - PRIMERA PARTE Capítulo 1: DATABASE SYSTEMS 1-1 ¿Por qué bases de datos? Entonces, ¿por

Views 98 Downloads 1 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

@adriisml TRADUCCIÓN DEL LIBRO - PRIMERA PARTE

Capítulo 1: DATABASE SYSTEMS 1-1 ¿Por qué bases de datos? Entonces, ¿por qué necesitamos bases de datos? En el mundo de hoy, los datos son ubicuos (abundantes, globales, en todas partes) y omnipresentes (ineludibles, prevalentes, persistentes). Desde el nacimiento hasta la muerte, generamos y consumimos datos. El rastro de datos comienza con el certificado de nacimiento y continúa hasta el certificado de defunción (¡y más allá!). En el medio, cada individuo produce y consume enormes cantidades de datos. Como verá en este libro, las bases de datos son la mejor manera de almacenar y administrar datos. Las bases de datos hacen que los datos sean persistentes y compartibles de manera segura. Al observar la Figura 1.1, ¿puede identificar algunos de los datos generados por sus propias actividades diarias?

Los datos no solo son ubicuos y generalizados; También es esencial para las organizaciones sobrevivir y prosperar. Imagine tratar de operar un negocio sin saber quiénes son sus clientes, qué productos está vendiendo, quién trabaja para usted, quién le debe dinero y a quién le debe dinero. Todas las empresas deben conservar este tipo de datos y mucho más. Igual de importante, deben tener esa información disponible para los tomadores de decisiones cuando sea necesario. Se puede argumentar que el objetivo final de todos los sistemas de información empresarial es ayudar a las empresas a utilizar la información como recurso organizativo. En el corazón de todos estos sistemas se encuentran la recopilación, el almacenamiento, la agregación, la manipulación, la difusión y la gestión de datos. Según el tipo de sistema de información y las características de la empresa, estos datos pueden variar desde unos pocos megabytes en solo uno o dos temas hasta terabytes que abarcan cientos de temas dentro del entorno interno y externo de la empresa.

@adriisml Se sabe que las compañías de telecomunicaciones, como Sprint y AT&T, tienen sistemas que guardan datos en billones de llamadas telefónicas, ¡y se agregan nuevos datos al sistema a velocidades de hasta 70,000 llamadas por segundo! Estas empresas no solo tienen que almacenar y administrar inmensas colecciones de datos, sino que también deben poder encontrar rápidamente cualquier hecho en esos datos. Considere el caso de la búsqueda básica en Internet de Google. Si bien Google es reacio a revelar muchos detalles sobre sus especificaciones de almacenamiento de datos, se estima que la compañía responde a más de 91 millones de búsquedas por día en una recopilación de datos de varios terabytes de tamaño. Impresionantemente, los resultados de estas búsquedas están disponibles casi al instante. ¿Cómo pueden estas empresas procesar esta cantidad de datos? ¿Cómo pueden almacenarlo todo, y luego recuperar rápidamente solo los hechos que los tomadores de decisiones quieren saber, justo cuando quieren saberlo? La respuesta es que usan bases de datos. Las bases de datos, como se explica en detalle en este libro, son estructuras especializadas que permiten a los sistemas basados en computadora almacenar, administrar y recuperar datos muy rápidamente. Prácticamente todos los sistemas comerciales modernos dependen de bases de datos. Por lo tanto, una buena comprensión de cómo se crean estas estructuras y su uso adecuado es vital para cualquier profesional de sistemas de información. Incluso si su carrera no lo lleva por el sorprendente camino del diseño y desarrollo de bases de datos, las bases de datos serán un componente clave de los sistemas que utilice. En cualquier caso, probablemente tomará decisiones en su carrera en función de la información generada a partir de los datos. Por lo tanto, es importante que sepa la diferencia entre datos e información.

1-2 Data versus Information Para comprender qué impulsa el diseño de la base de datos, debe comprender la diferencia entre datos e información. Los datos consisten en hechos sin procesar. La palabra en bruto indica que los hechos aún no se han procesado para revelar su significado. Por ejemplo, suponga que una universidad rastrea los datos de los miembros de la facultad para informar a los organismos de acreditación. Para obtener los datos de cada miembro de la facultad en la base de datos, debe proporcionar una pantalla para permitir la entrada de datos conveniente, completa con listas desplegables, cuadros combinados, botones de opción y otros controles de validación de entrada de datos. La Figura 1.2 (a) muestra un formulario simple de ingreso de datos de un paquete de software llamado Sedona. Cuando los datos se ingresan en el formulario y se guardan, se colocan en la base de datos subyacente como datos sin procesar, como se muestra en la Figura 1.2 (b). Aunque ahora tiene los hechos en la mano, no son particularmente útiles en este formato. Leer cientos de filas de datos para los miembros de la facultad no proporciona mucha información sobre la composición general de la facultad. Por lo tanto, transforma los datos sin procesar en un resumen de datos como el que se muestra en la Figura 1.2 (c). Ahora puede obtener respuestas rápidas a preguntas como "¿Qué porcentaje de la facultad en el departamento de Sistemas de Información (INFS) son adjuntos?" En este caso, puede determinar rápidamente que el 20 por ciento de los miembros de la facultad de INFS son profesores adjuntos. Debido a que los gráficos pueden mejorar su capacidad para extraer rápidamente el significado de los datos, muestra el gráfico circular de resumen de datos en la Figura 1.2 (d).

@adriisml La información es el resultado del procesamiento de datos en bruto para revelar su significado. El procesamiento de datos puede ser tan simple como organizar datos para revelar patrones o tan complejo como hacer pronósticos o hacer inferencias usando modelos estadísticos. Para revelar significado, la información requiere contexto. Por ejemplo, una lectura de temperatura promedio de 105 grados no significa mucho a menos que también conozca su contexto: ¿Esta lectura está en grados Fahrenheit o Celsius? ¿Es esta la temperatura de una máquina, la temperatura corporal o la temperatura del aire exterior? La información puede ser utilizada como base para la toma de decisiones. Por ejemplo, el resumen de datos para la facultad puede proporcionar a los organismos de acreditación ideas que son útiles para determinar si se debe renovar la acreditación para la universidad. Tenga en cuenta que los datos sin procesar deben formatearse correctamente para su almacenamiento, procesamiento y presentación. Por ejemplo, las fechas pueden almacenarse en formatos de calendario juliano dentro de la base de datos, pero mostrarse en una variedad de formatos, como día-mes-año o mes / día / año, para diferentes propósitos. Las respuestas de sí / no de los encuestados pueden necesitar convertirse a un formato S / N o 0/1 para el almacenamiento de datos. Se requiere un formato más complejo cuando se trabaja con tipos de datos complejos, como sonidos, videos o imágenes.

En esta "era de la información", la producción de información precisa, relevante y oportuna es la clave para una buena toma de decisiones. A su vez, una buena toma de decisiones es la clave para la supervivencia empresarial en un mercado global. Ahora se dice que estamos entrando en la "era del conocimiento". Los datos son la base de la información, que es la base del conocimiento, es decir, el cuerpo de información y hechos sobre un tema específico. El conocimiento implica familiaridad, conciencia y comprensión de la información tal como se aplica a un entorno. Una característica clave del conocimiento es que el conocimiento "nuevo" puede derivarse del conocimiento "antiguo".

@adriisml

Los datos constituyen los bloques de construcción de la información. La información se produce mediante el procesamiento de datos. La información se utiliza para revelar el significado de los datos. La información precisa, relevante y oportuna es la clave para una buena toma de decisiones. Una buena toma de decisiones es la clave para la supervivencia organizacional en un entorno global. @vnsc16

Los párrafos anteriores han explicado la importancia de los datos y cómo se utiliza el procesamiento de los datos para revelar información que a su vez genera conocimiento "accionable". Exploremos un ejemplo simple de cómo funciona esto en el mundo real. En la sociedad actual centrada en la información, usamos teléfonos inteligentes a diario. Estos dispositivos tienen una funcionalidad avanzada de GPS que rastrea constantemente su paradero. Estos datos se almacenan y comparten con varias aplicaciones. Cuando obtienes un nuevo teléfono inteligente, puedes usar la aplicación de mapas para ir a lugares y configurar la dirección de tu casa (¡ahora el teléfono sabe dónde vives!). La función GPS en su teléfono rastrea sus ubicaciones diarias. En algunos casos, la información generada es muy útil: puede ayudarlo a navegar a varios lugares e incluso a encontrar dónde estacionó su automóvil. La Figura 1.3 muestra capturas de pantalla de uno de los teléfonos inteligentes de los autores. El teléfono "sabe" que se trata del momento en que se va a su casa y le dice cuánto tiempo le llevará llegar allí. También le dice dónde estacionó su auto; si hace clic en el ícono de Auto estacionado, se abrirá un mapa para que pueda ubicar el auto.

Además, y tal vez incluso más aterrador en términos de problemas de privacidad, su teléfono inteligente puede saber más sobre sus actividades de lo que imagina. Por ejemplo, supongamos

@adriisml que todos los miércoles por la noche vas al gimnasio y juegas fútbol sala con tus amigos. El próximo miércoles por la noche, 20 minutos antes de salir de casa, su teléfono muestra un mensaje que dice "19 minutos para [la dirección del gimnasio]. El tráfico es ligero”. El teléfono ha estado almacenando datos de GPS en sus movimientos para desarrollar patrones basados en días, horas y ubicaciones para generar este conocimiento. A continuación, puede asociar dicho conocimiento a medida que sus actividades diarias proporcionen más puntos de datos. Imagine que el miércoles cuando va al gimnasio Magic Box para jugar fútbol, cuando llega usa Facebook en su teléfono para registrarse en el gimnasio. Ahora, su teléfono también sabe el nombre del lugar donde va todos los miércoles por la noche. Como puede ver en este ejemplo, el conocimiento y la información requieren datos oportunos y precisos. Dichos datos deben generarse y almacenarse adecuadamente en un formato que sea fácil de acceder y procesar. Además, como cualquier recurso básico, el entorno de datos debe administrarse con cuidado. La gestión de datos es una disciplina que se centra en la generación, el almacenamiento y la recuperación adecuados de datos. Dado el papel crucial que desempeñan los datos, no debería sorprenderle que la administración de datos sea una actividad central para cualquier negocio, agencia gubernamental, organización de servicio u organización benéfica.

1-3 Introducing the Database Una base de datos es una estructura informática compartida e integrada que almacena una colección de lo siguiente: • Datos del usuario final, es decir, datos en bruto de interés para el usuario final • Metadatos, o datos sobre datos, a través de los cuales se integran y administran los datos del usuario final. Los metadatos describen las características de los datos y el conjunto de relaciones que vincula los datos encontrados en la base de datos. Por ejemplo, el componente de metadatos almacena información como el nombre de cada elemento de datos, el tipo de valores (numéricos, fechas o texto) almacenados en cada elemento de datos y si el elemento de datos puede dejarse vacío. Los metadatos proporcionan información que complementa y expande el valor y el uso de los datos. En resumen, los metadatos presentan una imagen más completa de los datos en la base de datos. Dadas las características de los metadatos, es posible que escuche una base de datos descrita como una "colección de datos autodescriptivos". Un sistema de administración de bases de datos (DBMS) es una colección de programas que administra la estructura de la base de datos y controla el acceso a los datos almacenados en la base de datos. En cierto sentido, una base de datos se asemeja a un archivador electrónico muy bien organizado en el que un software potente (el DBMS) ayuda a administrar el contenido del gabinete. 1-3a Role and Advantages of the DBMS

@adriisml El DBMS sirve como intermediario entre el usuario y la base de datos. La estructura de la base de datos en sí misma se almacena como una colección de archivos, y la única forma de acceder a los datos en esos archivos es a través del DBMS. El DBMS recibe todas las solicitudes de aplicaciones y las traduce a las operaciones complejas requeridas para cumplir esas solicitudes. Posibilita que los datos sean compartidos. Presentan al usuario final una vista integrada de los datos. Oculta la complejidad interna de las bases de datos a las aplicaciones de usuario y al usuario final. El programa de aplicación puede ser escrito por un programador usando un lenguaje de programación, como Visual Basic.NET, Java o C #, o puede ser creado a través de un programa de utilidad DBMS. Tener un DBMS entre las aplicaciones del usuario final y la base de datos ofrece algunas ventajas importantes. Primero, el DBMS permite que los datos en la base de datos se compartan entre múltiples aplicaciones o usuarios. En segundo lugar, el DBMS integra las diferentes vistas de los usuarios de los datos en un único repositorio de datos que lo abarca todo.

Ventajas •

• •



Mejor intercambio de datos. El DBMS ayuda a crear un entorno en el que los usuarios finales tienen mejor acceso a más y mejores datos administrados. Dicho acceso hace posible que los usuarios finales respondan rápidamente a los cambios en su entorno. Mejor integración de datos. Se vuelve mucho más fácil ver cómo las acciones en un segmento de la empresa afectan a otros segmentos. Mejora de la seguridad de los datos. Cuantos más usuarios accedan a los datos, mayores serán los riesgos de violaciones de seguridad de datos. Las corporaciones invierten cantidades considerables de tiempo, esfuerzo y dinero para garantizar que los datos corporativos se usen correctamente. Un DBMS proporciona un marco para una mejor aplicación de las políticas de privacidad y seguridad de datos. Inconsistencia de datos minimizada. Existe inconsistencia de datos cuando aparecen diferentes versiones de los mismos datos en diferentes lugares. Por ejemplo, existe inconsistencia de datos cuando el departamento de ventas de una empresa almacena el nombre de un representante de ventas como Bill Brown y el departamento de personal de la empresa almacena el nombre de esa misma persona que William G. Brown, o cuando la oficina de ventas regional de la empresa muestra el precio de un producto en

@adriisml







$ 45.95 y su oficina nacional de ventas muestra el mismo precio del producto que $ 43.95. La probabilidad de inconsistencia de datos se reduce considerablemente en una base de datos diseñada adecuadamente. Mejora del acceso a los datos. El DBMS hace posible producir respuestas rápidas a consultas ad hoc. Desde la perspectiva de la base de datos, una consulta es una solicitud específica emitida al DBMS para la manipulación de datos. En pocas palabras, una consulta es una pregunta, y una consulta ad hoc es una pregunta del momento. El DBMS envía una respuesta (llamada conjunto de resultados de la consulta) a la aplicación. Por ejemplo, cuando se trata de grandes cantidades de datos de ventas, los usuarios finales pueden querer respuestas rápidas a preguntas (consultas ad hoc). Algunos ejemplos son los siguientes: –– ¿Cuál fue el volumen de ventas en dólares por producto durante los últimos seis meses? –– ¿Cuál es la cifra de bonificación de ventas para cada uno de nuestros vendedores durante los últimos tres meses? –– ¿Cuántos de nuestros clientes tienen saldos de crédito de $ 3,000 o más? Mejora en la toma de decisiones. Los datos mejor gestionados y el mejor acceso a los datos hacen posible generar información de mejor calidad, en la que se basan las mejores decisiones. La calidad de la información generada depende de la calidad de los datos subyacentes. La calidad de los datos es un enfoque integral para promover la precisión, la validez y la puntualidad de los datos. Si bien el DBMS no garantiza la calidad de los datos, proporciona un marco para facilitar las iniciativas de calidad de los datos. Los conceptos de calidad de datos se tratarán con más detalle en el Capítulo 16, Administración y seguridad de bases de datos. Aumento de la productividad del usuario final. La disponibilidad de datos, combinada con las herramientas que transforman los datos en información utilizable, permite a los usuarios finales tomar decisiones rápidas e informadas que pueden marcar la diferencia entre el éxito y el fracaso en la economía global.

Inconsistencia de datos: Una condición en la que diferentes versiones de los mismos datos producen resultados diferentes (inconsistentes). Consulta: Una pregunta o tarea realizada por un usuario final de una base de datos en forma de código SQL. Una solicitud específica de manipulación de datos emitida por el usuario final o la aplicación al DBMS. Consulta ad hoc: Una pregunta "improvisada". Conjunto de resultados de la consulta: La colección de filas de datos devueltas por una consulta. Calidad de datos: Un enfoque integral para garantizar la precisión, validez y oportunidad de los datos.

1-3b Types of Databases Un DBMS se puede usar para construir muchos tipos diferentes de bases de datos. Cada base de datos almacena una colección particular de datos y se utiliza para un propósito específico. Con los años, a medida que la tecnología y los usos innovadores de las bases de datos han evolucionado, se han utilizado diferentes métodos para clasificar las bases de datos. Por ejemplo, las bases de datos pueden clasificarse por el número de usuarios admitidos, dónde se encuentran los datos, el tipo de datos almacenados, el uso de datos previsto y el grado en que se estructuran los datos.

@adriisml El número de usuarios determina si la base de datos está clasificada como usuario único o multiusuario. Una base de datos de un solo usuario solo admite un usuario a la vez. En otras palabras, si el usuario A está usando la base de datos, los usuarios B y C deben esperar hasta que el usuario A termine. Una base de datos de un solo usuario que se ejecuta en una computadora personal se denomina base de datos de escritorio. Por el contrario, una base de datos multiusuario admite múltiples usuarios al mismo tiempo. Cuando la base de datos multiusuario admite un número relativamente pequeño de usuarios (generalmente menos de 50) o un departamento específico dentro de una organización, se denomina base de datos de grupo de trabajo. Cuando toda la organización utiliza la base de datos y admite muchos usuarios (más de 50, generalmente cientos) en muchos departamentos, la base de datos se conoce como una base de datos empresarial. La ubicación también se puede usar para clasificar la base de datos. Por ejemplo, una base de datos que admite datos ubicados en un solo sitio se denomina base de datos centralizada. Una base de datos que admite datos distribuidos en varios sitios diferentes se denomina base de datos distribuida. Las bases de datos centralizadas y descentralizadas (distribuidas) requieren una infraestructura bien definida (hardware, sistemas operativos, tecnologías de red, etc.) para implementar y operar la base de datos. Típicamente, la infraestructura es propiedad y está mantenida por la organización que crea y opera la base de datos. Pero en los últimos años, el uso de bases de datos en la nube ha ido creciendo en popularidad. Una base de datos en la nube es una base de datos que se crea y mantiene utilizando servicios de datos en la nube, como Microsoft Azure o Amazon AWS. Estos servicios, proporcionados por proveedores externos, proporcionan medidas de rendimiento definidas (capacidad de almacenamiento de datos, rendimiento requerido y disponibilidad) para la base de datos, pero no necesariamente especifican la infraestructura subyacente para implementarla. Los propietarios de los datos no tienen que saber ni preocuparse por el hardware y el software que se utilizan para admitir sus bases de datos. Las capacidades de rendimiento se pueden renegociar con el proveedor de la nube a medida que la empresa exige cambios en la base de datos. Por ejemplo, 3M Health Information Systems, el mayor proveedor mundial de software de análisis de atención médica en hospitales, utilizó los servicios de base de datos en la nube AWS de Amazon para consolidar sus múltiples centros de TI. 3M no tuvo que comprar, instalar, configurar o mantener ningún hardware, sistema operativo o dispositivo de red. Simplemente compró capacidad de almacenamiento y procesamiento para sus datos y aplicaciones. A medida que aumentaban las demandas en las bases de datos, se podían comprar capacidades adicionales de procesamiento y almacenamiento según fuera necesario. Como resultado, los procesos de aprovisionamiento del servidor que anteriormente demoraban 10 semanas en completarse podrían realizarse en solo minutos. Esto permite que la empresa sea más receptiva a las necesidades de los clientes e innovar más rápido. En algunos contextos, como los entornos de investigación, una forma popular de clasificar las bases de datos es según el tipo de datos almacenados en ellas. Usando este criterio, las bases de datos se agrupan en dos categorías: bases de datos de propósito general y de disciplina específica. Las bases de datos de propósito general contienen una amplia variedad de datos utilizados en múltiples disciplinas, por ejemplo, una base de datos censal que contiene datos demográficos generales y las bases de datos LexisNexis y ProQuest que contienen periódicos, revistas y artículos de revistas para una variedad de temas. Las bases de datos específicas de la disciplina contienen datos centrados en áreas temáticas específicas. Los datos en este tipo de base de datos se utilizan principalmente para fines académicos o de investigación dentro de un pequeño conjunto de disciplinas. Ejemplos de bases de datos específicas de la disciplina son los datos financieros almacenados en bases de datos como CompuStat o CRSP (Centro de Investigación en Precios de Seguridad), bases de datos del sistema de información geográfica (SIG) que almacenan datos geoespaciales y otros datos relacionados, y bases de datos médicas que almacenan datos confidenciales del historial médico.

@adriisml Sin embargo, la forma más popular de clasificar las bases de datos hoy en día se basa en cómo se utilizarán y en la sensibilidad temporal de la información recopilada de ellas. Por ejemplo, transacciones como ventas de productos o servicios, pagos y compras de suministros reflejan operaciones críticas del día a día. Dichas transacciones deben registrarse de forma precisa e inmediata. Una base de datos diseñada principalmente para soportar las operaciones diarias de una empresa se clasifica como una base de datos operativa, también conocida como una base de datos de procesamiento de transacciones en línea (OLTP), una base de datos transaccional o una base de datos de producción.

Por el contrario, una base de datos analítica se centra principalmente en el almacenamiento de datos históricos y métricas comerciales utilizadas exclusivamente para la toma de decisiones tácticas o estratégicas. Dicho análisis generalmente requiere un “masaje de datos” (manipulación de datos) extenso para producir información sobre la cual basar las decisiones de precios, pronósticos de ventas, estrategias de mercado, etc. Las bases de datos analíticas permiten al usuario final realizar análisis avanzados de datos comerciales utilizando herramientas sofisticadas.

Por lo general, las bases de datos analíticas comprenden dos componentes principales: un almacén de datos y una interfaz de procesamiento analítico en línea. El almacén de datos es una base de datos especializada que almacena datos en un formato optimizado para el soporte de decisiones. El almacén de datos contiene datos históricos obtenidos de las bases de datos operativas, así como datos de otras fuentes externas. El procesamiento analítico en línea (OLAP) es un conjunto de herramientas que trabajan juntas para proporcionar un entorno de análisis de datos avanzado para recuperar, procesar y modelar datos desde el almacén de datos. En los últimos tiempos, esta área de aplicación de bases de datos ha crecido en importancia y uso, hasta el punto de que se ha convertido en su propia disciplina: inteligencia empresarial. El término inteligencia empresarial describe un enfoque integral para capturar y procesar datos comerciales con el propósito de generar información para apoyar la toma de decisiones comerciales. El Capítulo 13, Business Intelligence y Data Warehouses, cubre este tema en detalle. Las bases de datos también se pueden clasificar para reflejar el grado en que se estructuran los datos. Los datos no estructurados son datos que existen en su estado original (sin procesar), es decir, en el formato en el que se recopilaron. Por lo tanto, los datos no estructurados existen en un formato que no se presta para el procesamiento que genera información. Los datos estructurados son el resultado de formatear datos no estructurados para facilitar el almacenamiento, el uso y la generación de información. Aplica la estructura (formato) en función del tipo de procesamiento que pretende realizar en los datos. Es posible que algunos datos no estén listos (no estructurados) para algunos tipos de procesamiento, pero pueden estar listos (estructurados) para otros tipos de procesamiento. Por ejemplo, el valor de datos 37890 puede referirse a un código postal, un valor de venta o un código de producto. Si este valor representa un código postal o un código de producto y se almacena como texto, no puede realizar cálculos matemáticos con él. Por otro lado, si este valor representa una transacción de venta, debe formatearse como numérico. Para ilustrar mejor el concepto de estructura, imagine una pila de facturas impresas en papel. Si desea simplemente almacenar estas facturas como imágenes para su posterior recuperación y visualización, puede escanearlas y guardarlas en un formato gráfico. Por otro lado, si desea obtener información como totales mensuales y ventas promedio, dicho almacenamiento gráfico no sería útil. En su lugar, puede almacenar los datos de la factura en un formato de hoja de cálculo (estructurado) para que pueda realizar los cálculos necesarios. En realidad, la mayoría de los datos que encuentra se clasifican mejor como semiestructurados. Los datos

@adriisml semiestructurados ya se han procesado hasta cierto punto. Por ejemplo, si observa una página web típica, los datos se presentan en un formato predeterminado para transmitir cierta información. Los tipos de bases de datos mencionados hasta ahora se centran en el almacenamiento y la gestión de datos altamente estructurados. Sin embargo, las corporaciones no se limitan al uso de datos estructurados. También usan datos semiestructurados y no estructurados. Solo piense en la valiosa información que se puede encontrar en los correos electrónicos, notas y documentos de la compañía, como procedimientos, reglas y páginas web. Las necesidades de gestión y almacenamiento de datos no estructurados y semiestructurados se están abordando a través de una nueva generación de bases de datos conocidas como bases de datos XML. Extensible Markup Language (XML) es un lenguaje especial utilizado para representar y manipular elementos de datos en un formato de texto. Una base de datos XML admite el almacenamiento y la gestión de datos XML semiestructurados. La Tabla 1.1 compara las características de varios sistemas de administración de bases de datos bien conocidos.

@adriisml

single-user database Numbers of users

desktop database workgroup database

multiuser database enterprise database centralized database

Location

Distributed database

cloud database

Tipe of data stored

General-purpose databases Discipline-specific databases operational database online transaction processing (OLTP) database

Clasifications

transactional database

production database Used and information gathered analytical database

data warehouse Online analytical processing (OLAP) business intelligence

Unstructured data

Structured data

Structure Semistructured data Extensible Markup Language (XML)

@vnsc16

@adriisml Con el surgimiento de la web y las tecnologías basadas en Internet como base para la nueva generación de "redes sociales", se almacenan y analizan grandes cantidades de datos. Las redes sociales se refieren a tecnologías web y móviles que permiten interacciones humanas "en cualquier lugar, en cualquier momento, siempre encendidas". Sitios web como Google, Facebook, Twitter y LinkedIn capturan grandes cantidades de datos sobre usuarios finales y consumidores. Estos datos crecen exponencialmente y requieren el uso de sistemas de bases de datos especializados. Por ejemplo, a partir de 2017, se publicaron más de 648 millones de tweets todos los días en Twitter, y ese número continúa creciendo. Como resultado, la base de datos MySQL que Twitter usaba para almacenar el contenido del usuario fue frecuentemente sobrecargada por la demanda. Facebook enfrenta desafíos similares. Con más de 500 terabytes de datos cada día, almacena más de 100 petabytes de datos en un solo sistema de archivos de almacenamiento de datos. A partir de estos datos, su base de datos escanea más de 200 terabytes de datos cada hora para procesar las acciones del usuario, incluidas las actualizaciones de estado, las solicitudes de imágenes y miles de millones de acciones "Me gusta". En los últimos años, esta nueva generación de bases de datos especializadas ha crecido en sofisticación y uso generalizado. Actualmente, este nuevo tipo de base de datos se conoce como una base de datos NoSQL. El término NoSQL (No solo SQL) se usa generalmente para describir una nueva generación de DBMS que no se basa en el modelo tradicional de base de datos relacional. Las bases de datos NoSQL están diseñadas para manejar el volumen de datos sin precedentes, la variedad de tipos y estructuras de datos, y la velocidad de las operaciones de datos que son características de estos nuevos requisitos comerciales. Aprenderá más sobre este tipo de sistema en el Capítulo 2, Modelos de datos. Esta sección mencionó brevemente los diferentes tipos de bases de datos. Como aprendió anteriormente, una base de datos es una estructura de computadora que alberga y administra los datos del usuario final. Una de las primeras tareas de un profesional de bases de datos es garantizar que los datos del usuario final estén estructurados adecuadamente para obtener información válida y oportuna. Para esto, un buen diseño de la base de datos es esencial.

1-4 Why Database Design Is Important Un problema que ha evolucionado con el uso de herramientas de productividad personal, como hojas de cálculo y programas de bases de datos de escritorio, es que los usuarios generalmente carecen de habilidades adecuadas de modelado de datos y diseño de bases de datos. Las personas, naturalmente, tienen una visión "estrecha" de los datos en su entorno. Por ejemplo, considere el horario de clases de un estudiante. El programa probablemente contiene el número y nombre de identificación del estudiante, el código de la clase, la descripción de la clase, las horas de crédito de la clase, el nombre del instructor de la clase, los días y horarios de las reuniones de clase y el número de la sala de clase. En la mente del alumno, estos diversos elementos de datos componen una sola unidad. Si una organización estudiantil quisiera mantener un registro de los horarios de sus miembros, un usuario final podría hacer una hoja de cálculo para almacenar la información del horario. Incluso si el estudiante incursiona en el ámbito de las bases de datos de escritorio, es probable que cree una estructura compuesta de una sola tabla que imite su vista de los datos del cronograma. Como aprenderá en los próximos capítulos, traducir este tipo de vista estrecha de datos en una sola estructura de tabla bidimensional es una mala elección de diseño de base de datos. El diseño de la base de datos se refiere a las actividades que se centran en el diseño de la estructura de la base de datos que se utilizará para almacenar y administrar los datos del usuario final. Una base de datos que cumple con todos los requisitos del usuario no solo sucede; Su estructura debe ser diseñada cuidadosamente. De hecho, el diseño de bases de datos es un aspecto tan crucial del trabajo con bases de datos que la mayor parte de este libro está dedicado al desarrollo de buenas técnicas de diseño de bases de datos. Incluso un buen DBMS funcionará mal con una base de datos mal diseñada.

@adriisml Los datos son uno de los activos más valiosos de una organización. Los datos sobre clientes, empleados, pedidos y recibos son vitales para la existencia de una empresa. El seguimiento de los indicadores clave de crecimiento y rendimiento también es vital para los planes estratégicos y tácticos para garantizar el éxito futuro; por lo tanto, los datos de una organización no deben manejarse a la ligera o descuidadamente. Una planificación exhaustiva para garantizar que los datos se utilicen y se aprovechen adecuadamente para proporcionar a la empresa el mayor beneficio es tan importante como una planificación financiera adecuada para garantizar que la empresa obtenga el mejor uso de sus recursos financieros. Debido a que los DBMS de la generación actual son fáciles de usar, un efecto secundario desafortunado es que muchos usuarios empresariales expertos en informática obtienen una falsa sensación de confianza en su capacidad para construir una base de datos funcional. Estos usuarios pueden navegar de manera efectiva la creación de objetos de base de datos, pero sin la comprensión adecuada del diseño de la base de datos, tienden a producir estructuras defectuosas y demasiado simplificadas que evitan que el sistema almacene correctamente los datos que corresponden a las realidades del negocio, lo que produce resultados incompletos o erróneos cuando Se recuperan los datos. Considere los datos que se muestran en la Figura 1.5, que ilustra los esfuerzos de una organización para mantener registros sobre sus empleados y sus habilidades. Algunos empleados no han pasado una prueba de certificación en ninguna habilidad, mientras que otros han sido certificados en varias habilidades. Algunos empleados comparten algunas habilidades certificadas, mientras que otras habilidades no tienen empleados que posean esas certificaciones. En función de este almacenamiento de datos, observe los siguientes problemas: • Sería difícil, si no imposible, producir una lista alfabética de empleados basada en sus apellidos. • Para determinar cuántos empleados están certificados en la manipulación básica de bases de datos, necesitaría un programa que cuente el número de esas certificaciones registradas en Skill1 y lo coloque en una variable. Luego, el recuento de esas certificaciones en Skill2 podría calcularse y agregarse a la variable. Finalmente, el recuento de esas certificaciones en Skill3 podría calcularse y agregarse a la variable para producir el total. • Si almacena de forma redundante el nombre de una habilidad con cada empleado certificado en esa habilidad, corre el riesgo de deletrear el nombre de manera diferente para los diferentes empleados. Por ejemplo, la habilidad Manipulación de base de datos básica también se ingresa como Manipulación de base de datos básica para al menos un empleado en la Figura 1.5, lo que hace que sea difícil obtener un recuento preciso de los empleados que tienen la certificación.

@adriisml • La estructura de la base de datos deberá cambiarse agregando más columnas a la tabla cuando un empleado esté certificado en una cuarta habilidad. Tendrá que modificarse nuevamente si un empleado está certificado en una quinta habilidad. Contraste este diseño pobre con el que se muestra en la Figura 1.6, donde se ha mejorado el diseño descomponiendo los datos en tres tablas relacionadas. Estas tablas contienen todos los mismos datos que se representaron en la Figura 1.5, pero las tablas están estructuradas para que pueda manipular fácilmente los datos para verlos de diferentes maneras y responder preguntas simples. Con la estructura mejorada en la Figura 1.6, puede usar comandos simples en un lenguaje de manipulación de datos estándar para hacer lo siguiente: • Produzca una lista alfabética de empleados por apellido: SELECT * FROM EMPLOYEE ORDER BY EMPLOYEE_LNAME; • Determine cuántos empleados están certificados en la manipulación básica de bases de datos: • SELECT Count (*) FROM SKILL JOIN CERTIFIED ON SKILL.SKILL_ID = CERTIFIED.SKILL_ID WHERE SKILL_NAME = ‘Basic Database Manipulation’; Aprenderá más sobre estos comandos en el Capítulo 7, Introducción al lenguaje de consulta estructurado (SQL). Tenga en cuenta que debido a que cada nombre de habilidad se almacena solo una vez, los nombres no se pueden deletrear o abreviar de manera diferente para diferentes empleados. Además, la certificación adicional de un empleado con una cuarta o quinta habilidad no requiere cambios en la estructura de las tablas. El diseño adecuado de la base de datos requiere que el diseñador identifique con precisión el uso esperado de la base de datos. El diseño de una base de datos transaccional enfatiza datos precisos y consistentes y velocidad operativa. El diseño de una base de datos de almacén de datos enfatiza el uso de datos históricos y agregados. El diseño de una base de datos para su uso en un entorno centralizado de un solo usuario requiere un enfoque diferente al utilizado en el diseño de una base de datos distribuida y multiusuario. Este libro enfatiza el diseño de bases de datos transaccionales, centralizadas, de un solo usuario y multiusuario. Los capítulos 12 y 13 también examinan los problemas críticos que enfrenta el diseñador de bases de datos distribuidas y de depósito de datos.

@adriisml

Diseñar depósitos de datos apropiados de información integrada utilizando las estructuras de tabla bidimensionales que se encuentran en la mayoría de las bases de datos es un proceso de descomposición. Los datos integrados deben descomponerse adecuadamente en sus partes constituyentes, con cada parte almacenada en su propia tabla. Además, las relaciones entre estas tablas deben considerarse e implementarse cuidadosamente para que la vista integrada de los datos pueda recrearse más tarde como información para el usuario final. Una base de datos bien diseñada facilita la gestión de datos y genera información precisa y valiosa. Es probable que una base de datos mal diseñada se convierta en un caldo de cultivo para errores difíciles de rastrear que pueden conducir a una mala toma de decisiones, y una mala toma de decisiones puede conducir al fracaso de una organización. El diseño de la base de datos es simplemente demasiado importante para dejarlo a la suerte. Es por eso que los estudiantes universitarios estudian el diseño de bases de datos, por qué las organizaciones de todo tipo y tamaño envían personal a seminarios de diseño de bases de datos, y por qué los consultores de diseño de bases de datos a menudo se ganan la vida excelente.

1-5 Evolution of File System Data Processing Comprender qué es una base de datos, qué hace y la forma correcta de usarla puede aclararse considerando lo que no es una base de datos. Una breve explicación de la evolución del procesamiento de datos del sistema de archivos puede ser útil para comprender las limitaciones de acceso a datos que las bases de datos intentan superar. Comprender estas limitaciones es relevante para los diseñadores y desarrolladores de bases de datos porque las tecnologías de bases de datos no hacen que estos problemas desaparezcan mágicamente; las tecnologías de bases de datos simplemente facilitan la creación de soluciones que eviten estos problemas. Crear diseños de bases de datos que eviten las trampas de los sistemas anteriores requiere que el diseñador comprenda estos problemas y cómo evitarlos; de lo contrario, las tecnologías de base de datos no son mejores (¡y potencialmente incluso peores!) que las tecnologías y técnicas que han reemplazado.

1-5a Manual File Systems Para tener éxito, una organización debe desarrollar sistemas para manejar las tareas comerciales centrales. Históricamente, tales sistemas eran a menudo manuales, sistemas de papel y lápiz. Los documentos dentro de estos sistemas se organizaron para facilitar el uso esperado de los datos. Típicamente, esto se logró a través de un sistema de carpetas de archivos y archivadores. Mientras una recopilación de datos fuera relativamente pequeña y los usuarios comerciales de una organización tuvieran pocos requisitos de informes, el sistema manual cumplía su función como un depósito de datos. Sin embargo, a medida que las organizaciones crecieron y los requisitos de informes se volvieron más complejos, el seguimiento de los datos en un sistema de archivos

@adriisml manual se hizo más difícil. Por lo tanto, las empresas recurrieron a la tecnología informática en busca de ayuda.

1-5b Computerized File Systems Generar informes a partir de sistemas de archivos manuales fue lento y engorroso. De hecho, algunos gerentes comerciales enfrentaron requisitos de informes impuestos por el gobierno que llevaron a semanas de esfuerzo intensivo cada trimestre, incluso cuando se utilizó un sistema manual bien diseñado. Por lo tanto, se contrató a un especialista en procesamiento de datos (DP) para crear un sistema informático que rastrearía los datos y produciría los informes requeridos. Inicialmente, los archivos de la computadora dentro del sistema de archivos eran similares a los archivos manuales. En la Figura 1.7 se muestra un ejemplo simple de un archivo de datos del cliente para una pequeña compañía de seguros. (Más adelante descubrirá que la estructura de archivos que se muestra en la Figura 1.7, aunque normalmente se encuentra en los sistemas de archivos anteriores, no es satisfactoria para una base de datos).

Campo: un carácter o grupo de caracteres (alfabético o numérico) que tiene un significado específico. Se utiliza un campo para definir y almacenar datos. Registro: un conjunto conectado lógicamente de uno o más campos que describe una persona, lugar o cosa. Archivo: una colección de registros relacionados. Por ejemplo, un archivo puede contener datos sobre los estudiantes actualmente matriculados en la Universidad Gigantic. El ambiente de los sistemas de bases de datos: El término sistema de base de datos se refiere a una organización de componentes que definen y regulan la recopilación, el almacenamiento, la administración y el uso de datos dentro de un entorno de base de datos. Desde el punto de vista de la administración general, el sistema de base de datos se compone de las cinco partes principales: hardware, software, personas, procedimientos y datos.

@adriisml

1-5c File System Redux: Modern End-User Productivity Tools El deseo de los usuarios de tener acceso directo y práctico a los datos ayudó a impulsar la adopción de computadoras personales para uso comercial. Aunque no está directamente relacionado con la evolución del sistema de archivos, el uso ubicuo de las herramientas de productividad personal puede presentar los mismos problemas que los sistemas de archivos antiguos. Los programas de hoja de cálculo de la computadora personal, como Microsoft Excel, son ampliamente utilizados por los usuarios comerciales, y permiten al usuario ingresar datos en una serie de filas y columnas para que los datos puedan manipularse utilizando una amplia gama de funciones. La popularidad de las aplicaciones de hojas de cálculo ha permitido a los usuarios realizar análisis de datos sofisticados que han mejorado enormemente su capacidad de comprender los datos y tomar mejores decisiones. Desafortunadamente, como en el viejo adagio "Cuando la única herramienta que tienes es un martillo, cada problema parece un clavo", los usuarios se han vuelto tan expertos en trabajar con hojas de cálculo que tienden a usarlas para completar tareas para las cuales las hojas de cálculo no son apropiadas. Un mal uso común de las hojas de cálculo es como un sustituto de una base de datos. Curiosamente, los usuarios finales a menudo toman los datos limitados a los que tienen acceso directo y los colocan en un formato de hoja de cálculo similar al de los sistemas de almacenamiento de datos manuales tradicionales, que es precisamente lo que hicieron los primeros especialistas en DP al crear archivos de datos computarizados. Debido a la gran cantidad de usuarios con hojas de cálculo, cada uno haciendo copias separadas de los datos, el "sistema de archivos" resultante de las hojas de cálculo tiene los mismos problemas que los sistemas de archivos creados por los primeros especialistas en DP, que se describen en la siguiente sección.

1-6 Problems with File System Data Processing El método del sistema de archivos para organizar y administrar datos fue una mejora definitiva sobre el sistema manual, y el sistema de archivos cumplió un propósito útil en la administración de datos durante más de dos décadas, un tiempo muy largo en la era de las computadoras. Sin embargo, muchos problemas y limitaciones se hicieron evidentes en este enfoque. Una crítica del método del sistema de archivos tiene dos propósitos principales: • Comprender las deficiencias del sistema de archivos le permite comprender el desarrollo de bases de datos modernas. • Es probable que la falta de comprensión de tales problemas conduzca a su duplicación en un entorno de base de datos, a pesar de que la tecnología de base de datos hace que sea fácil evitarlos. Los siguientes problemas asociados con los sistemas de archivos, ya sean creados por especialistas en DP o mediante una serie de hojas de cálculo, desafían severamente los tipos de información que se pueden crear a partir de los datos, así como la precisión de la información: • Largos tiempos de desarrollo. El primer y más evidente problema con el enfoque del sistema de archivos es que incluso la tarea más simple de recuperación de datos requiere una programación extensa. Con los sistemas de archivos más antiguos, los programadores tenían que especificar qué se debía hacer y cómo hacerlo. Como aprenderá en los próximos capítulos, las bases de datos modernas utilizan un lenguaje de manipulación de datos no procesal que permite al usuario especificar qué debe hacerse sin especificar cómo. • Dificultad para obtener respuestas rápidas. La necesidad de escribir programas para producir incluso los informes más simples hace que las consultas ad hoc sean imposibles. Los especialistas en DP que trabajaban con sistemas de archivos maduros a menudo recibían numerosas solicitudes

@adriisml de nuevos informes. A menudo se vieron obligados a decir que el informe estará listo "la próxima semana" o incluso "el próximo mes". Si necesita la información ahora, recibirla la próxima semana o el próximo mes no satisfará sus necesidades de información. • Administración de sistemas complejos. La administración del sistema se vuelve más difícil a medida que se expande el número de archivos en el sistema. Incluso un sistema de archivos simple con algunos archivos requiere crear y mantener varios programas de administración de archivos. Cada archivo debe tener sus propios programas de administración de archivos que permitan al usuario agregar, modificar y eliminar registros; para enumerar el contenido del archivo; y para generar informes. Debido a que las consultas ad hoc no son posibles, los programas de informes de archivos pueden multiplicarse rápidamente. El problema se agrava por el hecho de que cada departamento de la organización "posee" sus datos creando sus propios archivos. • Falta de seguridad y uso compartido de datos limitado. Otra falla de un repositorio de datos del sistema de archivos es la falta de seguridad y el intercambio limitado de datos. El intercambio de datos y la seguridad están estrechamente relacionados. Compartir datos entre múltiples usuarios dispersos geográficamente presenta muchos riesgos de seguridad. En términos de datos de hojas de cálculo, si bien muchos programas de heets de spreads brindan opciones de seguridad rudimentarias, no siempre se usan e, incluso cuando lo son, son insuficientes para un intercambio de datos robusto entre los usuarios. En términos de creación de programas de gestión de datos e informes, las funciones de seguridad y de intercambio de datos son difíciles de programar y, en consecuencia, a menudo se omiten de un entorno de sistema de archivos. Dichas características incluyen protección efectiva con contraseña, la capacidad de bloquear partes de archivos o partes del sistema, y otras medidas diseñadas para salvaguardar la confidencialidad de los datos. Incluso cuando se intenta mejorar la seguridad del sistema y de los datos, los dispositivos de seguridad tienden a tener un alcance y una eficacia limitados. • Amplia programación. Hacer cambios en una estructura de archivos existente puede ser difícil en un entorno de sistema de archivos. Por ejemplo, cambiar solo un campo en el archivo CLIENTE original requeriría un programa que: 1. lee un registro del archivo original 2. transforma los datos originales para cumplir con los requisitos de almacenamiento de la nueva estructura 3. escribe los datos transformados en la nueva estructura de archivos 4. repite los pasos anteriores para cada registro en el archivo original. De hecho, cualquier cambio en la estructura de un archivo, por pequeño que sea, obliga a realizar modificaciones en todos los programas que utilizan los datos de ese archivo. Es probable que las modificaciones produzcan errores (errores), y se gasta tiempo adicional usando un proceso de depuración para encontrar esos errores. Esas limitaciones, a su vez, conducen a problemas de dependencia estructural y de datos.

Dependencia estructural y de datos Un sistema de archivos muestra dependencia estructural, lo que significa que el acceso a un archivo depende de su estructura. Por el contrario, la independencia de los datos existe cuando puede cambiar las características de almacenamiento de datos sin afectar la capacidad del programa para acceder a los datos. dependencia estructural: una característica de datos en la que un cambio en el esquema de la base de datos afecta el acceso a los datos, lo que requiere cambios en todos los programas de acceso. independencia estructural: una característica de datos en la que los cambios en el esquema de la base de datos no afectan el acceso a los datos.

@adriisml tipo de datos: define el tipo de valores que se pueden usar o almacenar. Además, se utiliza en lenguajes de programación y sistemas de bases de datos para determinar las operaciones que se pueden aplicar a dichos datos. dependencia de datos: una condición de datos en la que la representación y manipulación de datos dependen de las características físicas de almacenamiento de datos. independencia de datos: una condición en la que el acceso a los datos no se ve afectado por los cambios en las características físicas del almacenamiento de datos. formato de datos lógicos: la forma en que una persona ve los datos dentro del contexto de un dominio problemático. formato de datos físicos: la forma en que una computadora "ve" (almacena) datos. Redundancia de datos La estructura organizativa promueve el almacenamiento de los mismos datos básicos en diferentes ubicaciones. (Los profesionales de la base de datos utilizan el término islas de información para dichas ubicaciones de datos dispersos). La redundancia de datos no controlada establece el escenario para lo siguiente: •

Mala seguridad de los datos. Tener múltiples copias de datos aumenta las posibilidades de que una copia de los datos sea susceptible de acceso no autorizado



Inconsistencia de datos. La inconsistencia de datos existe cuando diferentes versiones en conflicto de los mismos datos aparecen en diferentes lugares.



Errores de entrada de datos. Es más probable que ocurran errores de entrada de datos cuando se realizan entradas complejas (como números de teléfono de 10 dígitos) en varios archivos diferentes o se repiten con frecuencia en uno o más archivos.



Problemas de integridad de los datos. Es posible ingresar el nombre y el número de teléfono de un agente de ventas inexistente en el archivo del CLIENTE, pero es probable que los clientes no queden impresionados si la agencia de seguros proporciona el nombre y el número de teléfono de un agente que no existe.

islas de información: en el antiguo entorno del sistema de archivos, grupos de datos independientes, a menudo duplicados e inconsistentes creados y administrados por diferentes departamentos. redundancia de datos: existe cuando los mismos datos se almacenan innecesariamente en diferentes lugares. integridad de datos: en una base de datos relacional, una condición en la que los datos de la base de datos cumplen con todas las entidades y referencias

Anomalías en los datos La redundancia de datos fomenta una condición anormal al forzar cambios en el valor del campo en muchas ubicaciones diferentes. Se produce una anomalía en los datos cuando no se realizan con éxito todos los cambios necesarios en los datos redundantes. •

Actualización de anomalías: Si la agente Leah F. Hahn tiene un nuevo número de teléfono, debe ingresarse en cada uno de los registros del CLIENTE en el que se muestra el número de teléfono de la Sra. Hahn. En este caso, solo se deben hacer cuatro cambios.

@adriisml En un sistema de archivos grande, dicho cambio puede ocurrir en cientos o incluso miles de registros. Claramente, el potencial de inconsistencias de datos es grande. •

Anomalías de inserción: Si solo existiera el archivo CLIENTE y necesitara agregar un nuevo agente, también agregaría una entrada ficticia de datos del cliente para reflejar la adición del nuevo agente. Nuevamente, el potencial para crear inconsistencias de datos sería grande.



Anomalías de eliminación: Si elimina a los clientes Amy B. O'Brian, George Williams y Olette K. Smith, también eliminará los datos del agente de John T. Okon. Claramente, esto no es deseable.

1-7 Database Systems Los problemas inherentes a los sistemas de archivos hacen que el uso de un sistema de base de datos sea muy deseable. A diferencia del sistema de archivos, con sus muchos archivos separados y no relacionados, el sistema de base de datos consta de datos relacionados lógicamente almacenados en un único repositorio de datos lógicos. (La etiqueta "lógica" refleja el hecho de que el repositorio de datos parece ser una sola unidad para el usuario final, a pesar de que los datos pueden distribuirse físicamente entre múltiples instalaciones y ubicaciones de almacenamiento). Debido a que el repositorio de datos de la base de datos es una única unidad lógica, la base de datos representa un cambio importante en la forma en que se almacenan, acceden y administran los datos del usuario final. El DBMS de la base de datos, que se muestra en la Figura 1.10, ofrece numerosas ventajas sobre la administración del sistema de archivos, que se muestra en la Figura 1.9, al hacer posible eliminar la mayoría de los problemas de inconsistencia de datos, anomalías de datos, dependencia de datos y dependencia estructural del sistema de archivos. Mejor aún, la generación actual de software DBMS almacena no solo las estructuras de datos sino también las relaciones entre esas estructuras y las rutas de acceso a esas estructuras, todo en una ubicación central. La generación actual de software DBMS también se encarga de definir, almacenar y administrar todas las rutas de acceso requeridas a esos componentes.

@adriisml Recuerde que el DBMS es solo uno de varios componentes cruciales de un sistema de base de datos. El DBMS incluso puede denominarse el corazón del sistema de base de datos. Sin embargo, así como se necesita más que un corazón para que un ser humano funcione, se necesita más que un DBMS para que funcione un sistema de base de datos. En las secciones que siguen, aprenderá qué es un sistema de base de datos, cuáles son sus componentes y cómo encaja el DBMS en la imagen.

1-7a The Database System Environment (entorno del sistema de base de datos) El término sistema de base de datos se refiere a una organización de componentes que definen y regulan la recopilación, el almacenamiento, la administración y el uso de datos dentro de un entorno de base de datos. Desde un punto de vista de gestión general, el sistema de base de datos se compone de las cinco partes principales que se muestran en la Figura 1.11: hardware, software, personas, procedimientos y datos. Echemos un vistazo más de cerca a los cinco componentes que se muestran en la Figura 1.11: • Hardware. El hardware se refiere a todos los dispositivos físicos del sistema, incluidas las computadoras (PC, tabletas, estaciones de trabajo, servidores y supercomputadoras), dispositivos de almacenamiento, impresoras, dispositivos de red (concentradores, conmutadores, enrutadores, fibra óptica) y otros dispositivos (cajeros automáticos , Lectores de identificación, etc.). • Software. Aunque el software más fácilmente identificado es el DBMS, se necesitan tres tipos de software para que el sistema de la base de datos funcione completamente: software del sistema operativo, software DBMS y programas y utilidades de aplicaciones. –– El software del sistema operativo gestiona todos los componentes de hardware y hace posible que el resto del software se ejecute en las computadoras. Ejemplos de software de sistema operativo son Microsoft Windows, Linux, Mac OS, UNIX y MVS. –– El software DBMS gestiona la base de datos dentro del sistema de base de datos. Algunos ejemplos de software DBMS son SQL Server de Microsoft, Oracle de Oracle Corporation, MySQL de Oracle y DB2 de IBM. –– Los programas de aplicación y el software de utilidad se utilizan para acceder y manipular datos en el DBMS y para gestionar el entorno informático en el que tienen lugar el acceso y la manipulación de datos. Los programas de aplicación se usan más comúnmente para acceder a datos dentro de la base de datos para generar informes, tabulaciones y otra información para facilitar la toma de decisiones. Las utilidades son las herramientas de software utilizadas para ayudar a administrar los componentes informáticos del sistema de base de datos. Por ejemplo, todos los principales proveedores de DBMS ahora proporcionan interfaces gráficas de usuario (GUI) para ayudar a crear estructuras de base de datos, controlar el acceso a la base de datos y monitorear las operaciones de la base de datos. • Personas. Este componente incluye a todos los usuarios del sistema de base de datos. Sobre la base de las funciones principales del trabajo, se pueden identificar cinco tipos de usuarios en un sistema de base de datos: administradores de sistemas, administradores de bases de datos, diseñadores de bases de datos, analistas y programadores de sistemas, y usuarios finales. Cada tipo de usuario, que se describe a continuación, realiza funciones únicas y complementarias. –– Los administradores del sistema supervisan las operaciones generales del sistema de base de datos. –– Los administradores de bases de datos, también conocidos como DBA, administran el DBMS y se aseguran de que la base de datos funcione correctamente. El papel del DBA es lo

@adriisml suficientemente importante como para garantizar una exploración detallada en el Capítulo 16, Administración y seguridad de la base de datos. –– Los diseñadores de bases de datos diseñan la estructura de la base de datos. Son, en efecto, los arquitectos de bases de datos. Si el diseño de la base de datos es deficiente, incluso los mejores programadores de aplicaciones y los DBA más dedicados no pueden producir un entorno de base de datos útil. Debido a que las organizaciones se esfuerzan por optimizar sus recursos de datos, la descripción del trabajo del diseñador de la base de datos se ha expandido para cubrir nuevas dimensiones y responsabilidades crecientes. –– Los analistas y programadores de sistemas diseñan e implementan los programas de aplicación. Diseñan y crean las pantallas de entrada de datos, informes y procedimientos a través de los cuales los usuarios finales acceden y manipulan los datos de la base de datos. –– Los usuarios finales son las personas que usan los programas de aplicación para ejecutar las operaciones diarias de la organización. Por ejemplo, los empleados de ventas, supervisores, gerentes y directores están clasificados como usuarios finales. Los usuarios finales de alto nivel emplean la información obtenida de la base de datos para tomar decisiones comerciales tácticas y estratégicas.





Procedimientos. Los procedimientos son las instrucciones y reglas que rigen el diseño y uso del sistema de base de datos. Los procedimientos son un componente crítico, aunque ocasionalmente olvidado, del sistema. Los procedimientos juegan un papel importante en una empresa porque hacen cumplir los estándares por los cuales los negocios se llevan a cabo dentro de la organización y con los clientes. Los procedimientos también ayudan a garantizar que las empresas tengan una forma organizada de monitorear y auditar los datos que ingresan a la base de datos y la información generada a partir de esos datos. Datos. La palabra datos cubre la colección de hechos almacenados en la base de datos. Debido a que los datos son la materia prima a partir de la cual se genera la información, determinar qué datos ingresar en la base de datos y cómo organizar esos datos es una parte vital del trabajo del diseñador de la base de datos.

Funciones de los sistemas de gestión de bases de datos. Gestión del diccionario de datos. El DBMS almacena definiciones de los elementos de datos y sus relaciones (metadatos) en un diccionario de datos. A su vez, todos los programas que acceden a los datos en la base de datos funcionan a través del DBMS. El DBMS usa el

@adriisml diccionario de datos para buscar las estructuras y relaciones requeridas del componente de datos, lo que le libera de tener que codificar tales relaciones complejas en cada programa. Gestión de almacenamiento de datos. El DBMS crea y administra las estructuras complejas requeridas para el almacenamiento de datos, lo que lo libera de la difícil tarea de definir y programar las características físicas de los datos. La administración del almacenamiento de datos también es importante para el ajuste del rendimiento de la base de datos. El ajuste del rendimiento se relaciona con las actividades que hacen que la base de datos funcione de manera más eficiente en términos de almacenamiento y velocidad de acceso. Transformación de datos y presentación. El DBMS transforma los datos ingresados para ajustarse a las estructuras de datos requeridas. El DBMS le libera de la tarea de distinguir entre el formato de datos lógicos y el formato de datos físicos. Es decir, el DBMS formatea los datos recuperados físicamente para que se ajusten a las expectativas lógicas del usuario. Gestión de seguridad. El DBMS crea un sistema de seguridad que hace cumplir la seguridad del usuario y la privacidad de los datos. Las reglas de seguridad determinan qué usuarios pueden acceder a la base de datos, a qué elementos de datos puede acceder cada usuario y qué operaciones de datos (leer, agregar, eliminar o modificar) puede realizar el usuario. Control de acceso multiusuario. Para proporcionar integridad y consistencia de los datos, el DBMS utiliza algoritmos sofisticados para garantizar que múltiples usuarios puedan acceder a la base de datos simultáneamente sin comprometer su integridad. Gestión de respaldo y recuperación. El DBMS proporciona respaldo y recuperación de datos para garantizar la seguridad e integridad de los datos. Los sistemas DBMS actuales proporcionan utilidades especiales que permiten que el DBA realice procedimientos de copia de seguridad y restauración de rutina y especiales. Gestión de la integridad de los datos. El DBMS promueve y aplica reglas de integridad, minimizando así la redundancia de datos y maximizando la consistencia de los datos. Las relaciones de datos almacenadas en el diccionario de datos se utilizan para imponer la integridad de los datos. Lenguajes de acceso a bases de datos e interfaces de programación de aplicaciones. El DBMS proporciona acceso a datos a través de un lenguaje de consulta. Un lenguaje de consulta es un lenguaje sin procedimiento, que permite al usuario especificar qué se debe hacer sin tener que especificar cómo. Interfaces de comunicación de bases de datos. Un DBMS de generación actual acepta solicitudes de usuarios finales a través de múltiples entornos de red diferentes. Diccionario de datos: un componente de DBMS que almacena metadatos: datos sobre datos. El diccionario de datos contiene definiciones de datos, así como características y relaciones de datos. También puede incluir datos externos al DBMS. Ajuste De Rendimiento: las actividades que hacen que una base de datos funcione de manera más eficiente en términos de almacenamiento y velocidad de acceso. Lenguaje de Consulta: Un lenguaje no procesal que es utilizado por un DBMS para manipular sus datos. Un ejemplo de lenguaje de consulta es SQL. Lenguaje de consulta estructurado (SQL): un lenguaje de base de datos relacional potente y flexible compuesto de comandos que permiten a los usuarios crear estructuras de bases de datos y tablas, realizar diversos tipos de manipulación y administración de datos y consultar la base de datos para extraer información útil. ¿Por qué una hoja de cálculo no es una base de datos? Si bien una hoja de cálculo permite la manipulación de datos en un formato tabular, no admite incluso la funcionalidad de base de datos más básica, como el soporte para la auto

@adriisml documentación a través de metadatos, la aplicación de tipos de datos o dominios para garantizar la coherencia de los datos dentro de una columna, definida relaciones entre tablas o restricciones para garantizar la coherencia de los datos en las tablas relacionadas. La mayoría de los usuarios carecen de la capacitación necesaria para reconocer las limitaciones de las hojas de cálculo para este tipo de tareas.

1-7c Managing the Database System: A Shift in Focus La introducción de un sistema de base de datos sobre el sistema de archivos proporciona un marco en el que se pueden aplicar procedimientos y estándares estrictos. En consecuencia, el papel del componente humano cambia de un énfasis en la programación (en el sistema de archivos) a un enfoque en los aspectos más amplios de la gestión de los recursos de datos de la organización y en la administración del complejo software de base de datos. El sistema de base de datos permite abordar usos mucho más sofisticados de los recursos de datos, siempre que la base de datos esté diseñada para hacer uso de ese poder. El tipo de estructuras de datos creadas dentro de la base de datos y el alcance de las relaciones entre ellos juegan un papel poderoso en la determinación de la efectividad del sistema de base de datos. Aunque el sistema de base de datos ofrece ventajas considerables sobre los enfoques de gestión de datos anteriores, los sistemas de base de datos tienen desventajas significativas: ➢ Mayores costos. Los sistemas de bases de datos requieren hardware y software sofisticados y personal altamente calificado. ➢ Complejidad de la gestión. Los sistemas de bases de datos interactúan con muchas tecnologías diferentes y tienen un impacto significativo en los recursos y la cultura de una empresa. ➢ Mantener moneda. Para maximizar la eficiencia del sistema de base de datos, debe mantener su sistema actualizado. ➢ Dependencia del vendedor. Dada la gran inversión en tecnología y capacitación de personal, las compañías pueden ser reacias a cambiar los proveedores de bases de datos. ➢ Ciclos de actualización / reemplazos frecuentes. Los proveedores de DBMS actualizan sus productos con frecuencia agregando nuevas funcionalidades.

RESUMEN – CAPÍTULO 1 •

Los datos consisten en hechos sin procesar. La información es el resultado del procesamiento de datos para revelar su significado. La información precisa, relevante y oportuna es la clave para una buena toma de decisiones, y una buena toma de decisiones es la clave para la supervivencia organizacional en un entorno global.



Los datos generalmente se almacenan en una base de datos. Para implementar una base de datos y administrar su contenido, necesita un sistema de administración de base de datos (DBMS). El DBMS sirve como intermediario entre el usuario y la base de datos. La base de datos contiene los datos que ha recopilado y "datos sobre datos", conocidos como metadatos.

@adriisml •

El diseño de la base de datos define la estructura de la base de datos. Una base de datos bien diseñada facilita la gestión de datos y genera información precisa y valiosa. Una base de datos mal diseñada puede conducir a una mala toma de decisiones, y una mala toma de decisiones puede conducir al fracaso de una organización.



Las bases de datos se pueden clasificar de acuerdo con el número de usuarios admitidos, dónde se encuentran los datos, el tipo de datos almacenados, el uso previsto de los datos y el grado en que están estructurados.



Las bases de datos evolucionaron de sistemas de archivos manuales y luego computarizados. En un sistema de archivos, los datos se almacenan en archivos independientes, cada uno de los cuales requiere sus propios programas de gestión de datos. Aunque este método de gestión de datos está en gran parte pasado de moda, comprender sus características hace que el diseño de la base de datos sea más fácil de comprender.



Algunas limitaciones de la administración de datos del sistema de archivos son que requiere una programación extensa, la administración del sistema puede ser compleja y difícil, hacer cambios en las estructuras existentes es difícil y las características de seguridad probablemente no sean adecuadas. Además, los archivos independientes tienden a contener datos redundantes, lo que genera problemas de dependencia estructural y de datos.



Los DBMS se desarrollaron para abordar las debilidades inherentes del sistema de archivos. En lugar de depositar datos en archivos independientes, un DBMS presenta la base de datos al usuario final como un único depósito de datos. Este acuerdo promueve el intercambio de datos, eliminando así el problema potencial de las islas de información. Además, el DBMS impone la integridad de los datos, elimina la redundancia y promueve la seguridad de los datos.



El conocimiento de las tecnologías de bases de datos conduce a muchas oportunidades de carrera en la industria de TI en constante expansión. Existe una variedad de especialización dentro del campo de la base de datos para una amplia gama de habilidades y experiencia.

@adriisml CUESTIONARIO – CAPÍTULO 1

1. Defina cada uno de los siguientes términos: Datos – campo – registro – archivo Datos: hechos crudos Campo: un atributo, mismo tipo de datos Registro: datos relacionados que describen una entidad Archivo: una colección de registros relacionados. 2. ¿Qué es la redundancia de datos y qué características del sistema de archivos pueden conducir a ella? La redundancia de datos ocurre cuando los mismos datos se almacenan en múltiples lugares innecesariamente. El uso de hojas de cálculo y tablas en diferentes partes de la organización puede causarlo. 3. ¿Qué es la independencia de datos y por qué falta en los sistemas de archivos? La independencia de los datos existe cuando puede cambiar las características de almacenamiento de datos sin impedir la capacidad del programa para acceder a los datos. 4. ¿Qué es un DBMS y cuáles son sus funciones? DBMS = Sistema de gestión de bases de datos Una colección de programas que gestiona la estructura de la base de datos y controla el acceso a los datos almacenados en la base de datos. Funciones de un DBMS: • • • • • • • • •

gestión de diccionario de datos gestión de almacenamiento de datos transformación de datos y presentación gestión de seguridad control de acceso multiusuario gestión de respaldo y recuperación gestión de integridad de datos lenguajes de acceso a bases de datos e interfaces de programación de aplicaciones. interfaces de comunicación de bases de datos.

5. ¿Qué es la independencia estructural y por qué es importante? Cuando es posible realizar cambios en la estructura del archivo sin afectar la capacidad del programa de aplicación para acceder a los datos. 6. Explique las diferencias entre datos, información y una base de datos. Los datos son hechos sin procesar que no han sido procesados. La información son datos que se han procesado y dado contexto. Las bases de datos ayudan a facilitar la manipulación de datos para crear información al proporcionar una estructura organizativa que hace explícitas las relaciones y conexiones entre datos.

@adriisml 7. ¿Cuál es el papel de un DBMS y cuáles son sus ventajas? ¿Cuáles son sus desventajas? Sirve como intermediario entre el usuario y la base de datos. Ventajas: • • • • • • •

intercambio de datos mejorado seguridad de datos mejorada mejor integración de datos Inconsistencia de datos minimizada mejor acceso a datos toma de decisiones mejorada mayor productividad del usuario final

Desventajas: • • • • •

aumento de costos complejidad de gestión mantener moneda dependencia del vendedor ciclos frecuentes de actualización / reemplazo

8. Enumere y describa los diferentes tipos de bases de datos. 1. base de datos de usuario único: solo admite un usuario a la vez. 2. base de datos de escritorio: una base de datos de un solo usuario que se ejecuta en una computadora personal 3. Base de datos multiusuario: admite múltiples usuarios a la vez. 4. base de datos de grupos de trabajo: una base de datos multiusuario que admite un pequeño número de usuarios (50 o menos) 5. base de datos empresarial: una base de datos multiusuario que admite una gran cantidad de usuarios (más de 50) 6. Base de datos centralizada: admite datos ubicados en un solo sitio. 7. base de datos distribuida: admite datos distribuidos en varios sitios diferentes 8. base de datos operacional / transaccional / de producción: para las operaciones diarias 9. almacén de datos: almacena los datos utilizados para generar la información requerida para tomar decisiones tácticas o estratégicas 9. ¿Cuáles son los componentes principales de un sistema de base de datos? Hardware – software – personas – procedimientos – datos 10. ¿Qué son los metadatos? datos sobre datos, a través de los cuales se integran y administran los datos del usuario final. 11. Explique por qué el diseño de la base de datos es importante. Una base de datos mal diseñada puede producir errores difíciles de rastrear que resultan en una mala toma de decisiones, y una mala toma de decisiones puede conducir al fracaso de una organización.

@adriisml 12. ¿Cuáles son los costos potenciales de implementar un sistema de base de datos? - hardware y software sofisticado, personal capacitado - costos de capacitación, licenciamiento y cumplimiento de regulaciones - dependencia del proveedor: es menos probable que los proveedores ofrezcan ventajas de precios a los clientes existentes - actualización de hardware y software; entrenamiento adicional 13. Use ejemplos para comparar y contrastar datos no estructurados y estructurados. ¿Qué tipo es más frecuente en un entorno empresarial típico? Los datos no estructurados son simplemente datos que no han sido procesados para proporcionar información. ejemplos de ambos tipos incluirían: Una factura. Si uno tomara una factura y simplemente la escaneara en un gráfico, serían datos no estructurados. Por el contrario, si se procesara y se pusiera en una base de datos (que posteriormente se convertiría en datos estructurados), los empleados podrían encontrar los promedios mensuales, el monto adeudado, etc. de varias facturas. Si bien ambos son frecuentes, creo que los datos semiestructurados serían los más comunes en un negocio típico. Algunos datos se almacenan, pero no se procesan (datos no estructurados, como memos), y otros se almacenan en bases de datos (como facturas), pero la mayoría de los datos solo se procesan en cierta medida y se muestran en un formato preestablecido, pero no pueden producir todos de la información contenida en. 14. ¿Cuáles son algunas funciones básicas de la base de datos que una hoja de cálculo no puede realizar? las hojas de cálculo no admiten funcionalidades básicas como: • •

soporte para auto documentación a través de metadatos aplicación de tipos de datos o dominios para garantizar la coherencia de los datos dentro de una columna, relaciones definidas entre tablas o restricciones para garantizar la coherencia de los datos en las tablas relacionadas.

15. ¿Qué problemas comunes comparte una colección de hojas de cálculo creadas por los usuarios finales con el sistema de archivos típico? Los problemas comunes con el uso de una colección de hojas de cálculo creadas por los usuarios finales y el sistema de archivos típico incluyen: • • • • •

largos tiempos de desarrollo dificultad para obtener respuestas rápidas administración del sistema complejo falta de seguridad y uso compartido de datos limitado programación extensa

@adriisml 16. Explique la importancia de la pérdida de acceso directo y práctico a los datos comerciales que los usuarios finales experimentaron con la llegada de los repositorios de datos computarizados. La pérdida de acceso directo y práctico a los datos comerciales para los usuarios finales fue significativa porque les dio las herramientas para convertir sus datos en la información que necesitaban y manipular los datos de la compañía que les permitirían crear nueva información. Sin embargo, separó a los usuarios finales de los datos. Si bien esto aumentó la seguridad, evitó la redundancia y demás, también creó un retraso en el que el usuario final podía solicitar información de los datos y cuándo los entregaba el DP. 17. Explique por qué el costo de propiedad puede ser menor con una base de datos en la nube que con una base de datos tradicional de la empresa. Porque está externalizando sus datos a una entidad con grandes activos de base de datos, lo que reduce los costos. También elimina los costos de hardware y software necesarios para mantener su propia base de datos.

PROBLEMAS – CAPÍTULO 1 Dada la estructura de archivos que se muestra en la figura P1.1, responda los problemas 1–4.

1. ¿Cuántos registros contiene el archivo? ¿Cuántos campos hay por registro? El archivo contiene siete registros (21-5Z a 31-7P) y cada uno de los registros se compone de cinco campos (PROJECT_CODE a PROJECT_BID_PRICE). 2. ¿Qué problema encontraría si quisiera producir un listado por ciudad? ¿Cómo resolvería este problema alterando la estructura del archivo? Los nombres de ciudades están contenidos dentro del atributo MANAGER_ADDRESS y descomponer este campo de caracteres (cadena) en el nivel de aplicación es engorroso en el mejor de los casos. (Las consultas se vuelven mucho más difíciles de escribir y tardan más en ejecutarse cuando se deben realizar búsquedas de cadenas internas). Si la capacidad de producir listados de ciudades es importante, es mejor almacenar el nombre de la ciudad como un atributo separado. 3. Si quisiera producir una lista del contenido del archivo por apellido, código de área, ciudad, estado o código postal, ¿cómo alteraría la estructura del archivo? Cuanto más dividimos la dirección en sus componentes, mayores serán sus capacidades de información. Por ejemplo, al dividir MANAGER_ADDRESS en sus partes componentes (MGR_STREET, MGR_CITY, MGR_STATE y MGR_ZIP),

@adriisml obtenemos la capacidad de seleccionar fácilmente registros en función de códigos postales, nombres de ciudades y estados. Del mismo modo, al subdividir el nombre de MANAGER en sus componentes MGR_LASTNAME, MGR_FIRSTNAME y MGR_INITIAL, obtenemos la capacidad de producir búsquedas y listados más eficientes. Por ejemplo, crear un directorio telefónico es fácil cuando puede ordenar por apellido, nombre e inicial. Finalmente, separar el código de área y el número de teléfono dará la capacidad de agrupar eficientemente los datos por códigos de área. Por lo tanto, MGR_PHONE podría descomponerse en MGR_AREA_CODE y MGR_PHONE. Cuanto más descomponga los datos en sus componentes, mayor será la flexibilidad de búsqueda. Se dice que los datos que se descomponen en sus componentes más básicos son atómicos. 4. ¿Qué redundancias de datos detectan? ¿Cómo podrían esas redundancias conducir a anomalías? Tenga en cuenta que el gerente llamado Holly B. Parker ocurre tres veces, lo que indica que administra tres proyectos codificados 21-5Z, 25-9T y 29-2D, respectivamente. (Los sucesos indican que existe una relación 1: M entre PROYECTO y GERENTE: cada proyecto es administrado por un solo gerente, pero, aparentemente, un gerente puede administrar más de un proyecto). El número de teléfono y la dirección de la Sra. Parker también ocurren tres veces. Si la Sra. Parker se muda y / o cambia su número de teléfono, estos cambios deben hacerse más de una vez y todos deben hacerse correctamente ... sin perderse una sola ocurrencia. Si se pierde alguna ocurrencia durante el cambio, los datos son "diferentes" para la misma persona. Después de un tiempo, puede resultar difícil determinar cuáles son los datos correctos. Además, múltiples ocurrencias invitan errores ortográficos y transposiciones de dígitos, produciendo así las mismas anomalías. Los mismos problemas existen para las múltiples ocurrencias de George F. Dorts. 5. Identifique y discuta los serios problemas de redundancia de datos exhibidos por la estructura de archivos que se muestra en la Figura P1.5.

Dada la estructura deficiente del archivo, el escenario está preparado para múltiples anomalías. Por ejemplo, si el cargo por JOB_CODE = EE cambia de $ 85.00 a $ 90.00, ese cambio debe hacerse dos veces. Además, si el empleado June H. Sattlemeier se elimina del archivo, también perderá información sobre la existencia de su JOB_CODE = EE, su cargo por hora de $ 85.00 y PROJ_HOURS = 17.5. La pérdida del valor PROJ_HOURS significará en última instancia que los costos del proyecto Coast no se están cargando correctamente, lo que provocará una pérdida de PROJ_HOURS * JOB_CHG_HOUR = 17.5 x $ 85.00 = $ 1,487.50 para la empresa. Por cierto, tenga en cuenta que el archivo contiene diferentes valores JOB_CHG_HOUR para el mismo código de trabajo CT, lo que ilustra el efecto de los cambios en la tasa de

@adriisml carga por hora a lo largo del tiempo. La estructura del archivo parece representar transacciones que cobran horas de proyecto a cada proyecto. Sin embargo, la estructura de este archivo hace que sea difícil evitar anomalías de actualización y no es posible determinar si un cambio de carga se refleja con precisión en cada registro. Idealmente, un cambio en la tarifa de cargo por hora se realizaría en un solo lugar y este cambio se pasaría a la transacción en función del cargo por hora. Tal cambio estructural garantizaría la precisión histórica de las transacciones. Es posible que desee enfatizar que los cambios recomendados requieren mucho trabajo en un sistema de archivos. 6. Mirando el contenido de EMP_NAME y EMP_PHONE en la Figura P1.5, ¿qué cambio (s) recomendaría? Una buena recomendación sería hacer que los datos sean más atómicos. Es decir, separe los componentes de datos siempre que sea posible. Por ejemplo, separe EMP_NAME en su componente EMP_FNAME, EMP_INITIAL y EMP_LNAME. Este cambio facilitará la organización de los datos de los empleados a través del componente de nombre del empleado. Del mismo modo, los datos EMP_PHONE deben descomponerse en EMP_AREACODE y EMP_PHONE. Por ejemplo, dividir el número de teléfono 653-234-3245 en el código de área 653 y el número de teléfono 234-3245 facilitará la organización de los números de teléfono por código de área. (Si desea imprimir el directorio telefónico de un empleado, los datos más atómicos del nombre del empleado facilitarán mucho el trabajo). 7. Identifique las diversas fuentes de datos en el archivo que examinó en el problema 5. Dadas sus respuestas al problema 5 y un examen adicional de la Figura 1.5, sus alumnos deberían poder identificar estas fuentes de datos: • •





Datos del empleado, como nombres y números de teléfono. Datos del proyecto, como nombres de proyectos. Si comienza con un archivo EMPLEADO, los nombres de los proyectos claramente no pertenecen a ese archivo. (Los nombres de los proyectos son claramente características notables de los empleados). Datos del trabajo, como el cargo por hora. Si comienza con un archivo EMPLEADO, el cargo de trabajo por hora claramente no pertenece a ese archivo. (Los cargos por hora son claramente características de los empleados). Las horas del proyecto, que probablemente sean las horas trabajadas por el empleado para ese proyecto. (Tales horas están asociadas con un producto de trabajo, no con el empleado per se).

8. Dada su respuesta al problema 7, ¿qué archivos nuevos debe crear para ayudar a eliminar las redundancias de datos que se encuentran en el archivo que se muestra en la Figura P1.5? Las fuentes de datos son probablemente PROYECTO, EMPLEADO, TRABAJO y CARGO. El archivo PROYECTO debe contener características del proyecto, como

@adriisml el nombre del proyecto, el gerente / coordinador del proyecto, el presupuesto del proyecto, etc. El archivo EMPLEADO puede contener los nombres de los empleados, el número de teléfono, la dirección, etc. El archivo JOB contendría el cargo de facturación por hora para cada uno de los tipos de trabajo: un diseñador de base de datos, un desarrollador de aplicaciones y un contador generarían diferentes cargos de facturación por hora. El archivo CHARGE se usaría para realizar un seguimiento de la cantidad de horas por tipo de trabajo que se facturará a cada empleado que trabajó en el proyecto.

9. Identifique y discuta los serios problemas de redundancia de datos exhibidos por la estructura de archivos que se muestra en la Figura P1.9. (El archivo está destinado a ser utilizado como un horario de asignación de clases para el maestro. Uno de los muchos problemas con la redundancia de datos es la posible aparición de inconsistencias en los datos, es decir, que se han ingresado dos iniciales diferentes para la maestra llamada Maria Cordoza).

Tenga en cuenta que las características del profesor aparecen varias veces en este archivo. Por ejemplo, la maestra nombró el nombre, el apellido y la inicial de Maria Cordoza tres veces. Si se deben hacer cambios para cualquier maestro, esos cambios se deben hacer varias veces. Todo lo que se necesita es una entrada incorrecta o un cambio olvidado para crear inconsistencias de datos. Los datos redundantes no son un lujo que pueda permitirse en un entorno de datos. 10. Dada la estructura de archivos que se muestra en la Figura P1.9, ¿qué problemas podría encontrar si se eliminara la construcción de KOM? Perdería todos los datos de asignación de tiempo sobre los maestros Williston, Cordoza y Hawkins, así como las salas KOM 204E, 123 y 34. ¡Aquí hay otra buena razón para mantener datos sobre entidades específicas en sus propias tablas! Este tipo de anomalía se conoce como anomalía de eliminación.

11. Usando el sistema de información de estudiantes de su escuela, imprima su horario de clases. El programa probablemente contendría el número de identificación del estudiante, el nombre del estudiante, el código de la clase, el nombre de la clase, las horas de crédito de la clase, el nombre del instructor de la clase, los días y horarios de las reuniones de clase y el número de la sala de clase. Use la Figura P1.11 como plantilla para completar las siguientes acciones.

@adriisml

a) Cree una hoja de cálculo utilizando la plantilla que se muestra en la Figura P1.11 e ingrese su horario de clases actual. b) Ingrese el horario de clases de dos de sus compañeros en la misma hoja de cálculo. c) Discuta las redundancias y anomalías causadas por este diseño.

https://studylib.net/doc/7326414/chp1 https://www.studocu.com/en/document/charles-sturt-university/system-analysispg/other/prac-1-akey-solution-manual-database-systems-design-implementation-andmanagement/1584464/view

@adriisml

Capítulo 2: DATA MODELS 2.1 Modelado de datos y modelos de datos El modelado de datos, el primer paso para diseñar una base de datos se refiere al proceso de crear un modelo de datos específico para un dominio de problema determinado. Un modelo de datos es una representación relativamente simple, generalmente gráfica, de estructuras de datos más complejas del mundo real. En términos generales, un modelo es una abstracción de un objeto o evento más complejo del mundo real. La función principal de un modelo es ayudarlo a comprender las complejidades del entorno del mundo real. Dentro del entorno de la base de datos, un modelo de datos representa las estructuras de datos y sus características, relaciones, restricciones, transformaciones y otras construcciones con el propósito de soportar un dominio de problema específico. 2.2 La importancia de los modelos de datos Los modelos de datos pueden facilitar la interacción entre el diseñador, el programador de aplicaciones y el usuario final. Un modelo de datos bien desarrollado puede incluso fomentar una mejor comprensión de la organización para la cual se desarrolla el diseño de la base de datos. 2.3 Lo básico de los modelos de datos. Los bloques de construcción básicos de todos los modelos de datos son entidades, atributos, relaciones y restricciones. Una entidad es una persona, lugar, cosa o evento sobre los cuales se recopilarán y almacenarán los datos. Una entidad representa un tipo particular de objeto en el mundo real, lo que significa que una entidad es "distinguible", es decir, cada aparición de la entidad es única y distinta. Un atributo es una característica de una entidad. Por ejemplo, una entidad del CLIENTE se describiría mediante atributos como el apellido del cliente, el nombre del cliente, etc. Una relación describe una asociación entre entidades. Por ejemplo, existe una relación entre los clientes y los agentes que se puede describir de la siguiente manera: un agente puede atender a muchos clientes, y cada cliente puede ser atendido por un solo agente. Los modelos de datos utilizan tres tipos de relaciones: uno a muchos, muchos a muchos y uno a uno. •

Relación uno a muchos (1: M). Un pintor crea muchas pinturas diferentes, pero cada una está pintada por un solo pintor.



Relación de muchos a muchos (M: N). Un empleado puede aprender muchas habilidades laborales, y cada habilidad puede ser aprendida por muchos empleados.



Relación uno a uno (1: 1). La estructura de gestión de una empresa minorista puede requerir que cada una de sus tiendas sea administrada por un solo empleado.

Una restricción es una restricción colocada en los datos. Las restricciones son importantes porque ayudan a garantizar la integridad de los datos. Por ejemplo: el salario de un empleado debe tener valores entre 6,000 y 350,000. 2.4 Las reglas de negocio o requerimientos de automatización. Cuando los diseñadores de bases de datos seleccionan o determinan las entidades, los atributos y las relaciones que se usarán para construir un modelo de datos, podrían comenzar por obtener

@adriisml una comprensión completa de qué tipos de datos existen en una organización, cómo se usan los datos, y en qué plazos se utiliza. Las fuentes principales de las reglas comerciales son los gerentes de la compañía, los responsables de políticas, los gerentes de departamento y la documentación escrita, como los procedimientos, estándares y manuales de operaciones de la compañía. 2.5 Modelo de datos relacional. Características básicas. El modelo de datos relacionales se implementa a través de un sistema de gestión de bases de datos relacionales muy sofisticado (RDBMS). El RDBMS realiza las mismas funciones básicas proporcionadas por los sistemas DBMS jerárquicos y de red. Las tablas se relacionan entre sí mediante el uso compartido de un atributo común (un valor en una columna). Cada fila en la tabla relacional se conoce como instancia de entidad o aparición de entidad en el modelo ER. Una colección de entidades similares se conoce como un conjunto de entidades.

@adriisml

RESUMEN •

• •





Un modelo de datos es una abstracción de un complejo entorno de datos del mundo real. Los diseñadores de bases de datos utilizan modelos de datos para comunicarse con programadores y usuarios finales. Los componentes básicos de modelado de datos son entidades, atributos, relaciones y restricciones. Las reglas de negocio se utilizan para identificar y definir los componentes básicos de modelado dentro de un entorno específico del mundo real. Los modelos de datos jerárquicos y de red eran modelos iniciales que ya no se usan, pero algunos de los conceptos se encuentran en los modelos de datos actuales. El modelo relacional es el estándar actual de implementación de la base de datos. En el modelo relacional, el usuario final percibe los datos como almacenados en tablas. Las tablas están relacionadas entre sí mediante valores comunes en atributos comunes. El modelo de relación de entidad (ER) es una herramienta gráfica popular para el modelado de datos que complementa el modelo relacional. El modelo ER permite a los diseñadores de bases de datos presentar visualmente diferentes vistas de los datos, tal como lo ven los diseñadores de bases de datos, programadores y usuarios finales, e integrar los datos en un marco común. El modelo de datos orientado a objetos (OODM) utiliza objetos como la estructura básica de modelado. Al igual que la entidad del modelo relacional, un objeto se describe por su contenido factual. Sin embargo, a diferencia de una entidad, el objeto también incluye información sobre las relaciones entre los hechos, así como las relaciones con otros objetos, lo que le da más significado a sus datos. El modelo relacional ha adoptado muchas extensiones orientadas a objetos (OO) para convertirse en el modelo de datos relacionales extendidos (ERDM). Se desarrollaron sistemas de gestión de bases de datos objeto / relacionales (O / R DBMS) para implementar el ERDM. En este punto, el OODM se utiliza en gran medida en ingeniería especializada y aplicaciones científicas, mientras que el ERDM está orientado principalmente a aplicaciones comerciales.

@adriisml •



Las tecnologías de Big Data como Hadoop, MapReduce y NoSQL brindan soporte distribuido, tolerante a fallas y rentable para el análisis de Big Data. Las bases de datos NoSQL son una nueva generación de bases de datos que no utilizan el modelo relacional y están orientadas a satisfacer las necesidades muy específicas de las organizaciones de Big Data. Las bases de datos NoSQL ofrecen almacenes de datos distribuidos que proporcionan alta escalabilidad, disponibilidad y tolerancia a fallas al sacrificar la consistencia de los datos y al trasladar la carga de mantener relaciones e integridad de los datos al código del programa. Los requisitos de modelado de datos son una función de diferentes vistas de datos (global versus local) y el nivel de abstracción de datos. El Comité de Planificación y Requisitos de Estándares del American National Standards Institute (ANSI / SPARC) describe tres niveles de abstracción de datos: externo, conceptual e interno. El cuarto y más bajo nivel de abstracción de datos, llamado nivel físico, se refiere exclusivamente a los métodos de almacenamiento físico.

CUESTIONARIO – CAPÍTULO 2 1. Discuta la importancia del modelado de datos. Es una forma de representar la realidad. Es el plano de la base de datos. El diseñador de la base de datos utiliza modelos de datos para facilitar la interacción entre diseñadores, programadores de aplicaciones y usuarios finales. 2. ¿Qué es una regla de negocio y cuál es su propósito en el modelado de datos? Una regla de negocios es una descripción breve, precisa e inequívoca de una política, procedimiento o principio dentro del entorno de una organización específica. Las reglas comerciales escritas correctamente se utilizan para definir entidades, atributos, relaciones y restricciones. Debido a que estos componentes forman la base para el diseño de una base de datos, la derivación y definición cuidadosas de las reglas de negocio es crucial para un buen diseño de la base de datos. 3. ¿Cómo se traducen las reglas de negocio en componentes del modelo de datos? Como regla general, un sustantivo en una regla comercial se traducirá en una entidad en el modelo, y un sustantivo de asociación verbal (activo o pasivo) se traducirá en una relación entre las entidades. Por ejemplo, la regla comercial "un cliente puede generar muchas facturas" contiene dos sustantivos (cliente y factura) y un verbo ("generar") que los asocia. 4. ¿Qué lenguajes surgieron para estandarizar el modelo básico de datos de red y por qué fue tan importante para los usuarios y diseñadores? 1. El DDL (esquema) constituye el lenguaje de definición de datos para el esquema de la base de datos. El uso de DDL permitió que el administrador de la base de datos definiera el esquema de la base de datos, es decir, su plan general. 2. El DDL (sub-esquema) permite la definición de los componentes específicos de la base de datos que serán utilizados por cada aplicación. 3. El DML es el lenguaje de manipulación de datos que nos permite manipular el contenido de la base de datos.

@adriisml La estandarización es importante para los usuarios y diseñadores porque les permite cambiar de una aplicación comercial a otra con pocos problemas cuando operan al nivel lógico. 5. Describa las características básicas del modelo de datos relacionales y discuta su importancia para el usuario final y el diseñador. ***** Una base de datos relacional es un repositorio de datos único que proporciona independencia estructural y de datos al tiempo que mantiene la simplicidad conceptual. El modelo relacional representa un gran avance para los usuarios y diseñadores porque les permite operar en un entorno conceptual más simple. Los usuarios finales encuentran más fácil visualizar sus datos como una colección de datos organizados como una matriz. A los diseñadores les resulta más fácil lidiar con la representación conceptual de datos, liberándolos de las complejidades asociadas con la representación física de datos. 6. Explicar cómo el modelo de relación de entidad (ER) ayudó a producir un entorno de diseño de base de datos relacional más estructurado. Un modelo de relación de entidad, también conocido como ERM, ayuda a identificar las principales entidades de la base de datos y sus relaciones. Debido a que los componentes de ERM están representados gráficamente, su papel se entiende más fácilmente. Usando el diagrama ER, es fácil asignar el ERM a las tablas y atributos del modelo de base de datos relacional. Este proceso de mapeo utiliza una serie de pasos bien definidos para generar todas las estructuras de bases de datos requeridas. Representa la realidad utilizando gráficos y reglas bien definidos. Fundamento teórico Bueno para la comunicación Traducir a cualquier tipo de DBMS

https://quizlet.com/94907213/chapter-2-flash-cards/