Guía pública de revisión de conocimientos básicos~
Capítulo 1 Estructura de datos y algoritmo
1.1 Algoritmo
Algoritmo: se refiere a una descripción precisa y completa de la solución.
Los algoritmos no son iguales a los programas, ni tampoco a los métodos informáticos, por lo que la programación no puede ser mejor que el diseño de algoritmos.
Las características básicas de un algoritmo: Es un conjunto de reglas que define estrictamente el orden de las operaciones. Cada regla es válida y clara, y este orden terminará en un número limitado de veces. Las funciones incluyen:
(1) Viabilidad;
(2) Determinismo, cada paso del algoritmo debe estar claramente definido y no se permiten interpretaciones ambiguas ni ambigüedades;
p>
(3) El algoritmo debe completarse en un tiempo limitado, es decir, puede finalizarse después de ejecutar un número limitado de pasos, incluido el significado de un tiempo de ejecución razonable ; p>
(4) Hay suficiente información.
Los elementos básicos del algoritmo: primero, la operación de los objetos de datos y la operación CAO; el segundo es la estructura de control del algoritmo.
Conjunto de instrucciones: Colección de todas las instrucciones que un sistema informático puede ejecutar.
Las operaciones básicas y operaciones CAO incluyen operaciones aritméticas, operaciones lógicas, operaciones relacionales y transmisión de datos.
Estructuras de control de algoritmos: estructura secuencial, estructura de selección y estructura de bucle.
Los métodos básicos de diseño de algoritmos incluyen enumeración, inducción, recursividad, recursividad, tecnología de recursividad de reducción de depósitos y retroceso.
Complejidad algorítmica: complejidad temporal del algoritmo y complejidad espacial del algoritmo.
La complejidad temporal de un algoritmo se refiere al esfuerzo computacional requerido para ejecutar el algoritmo.
La complejidad del espacio del algoritmo se refiere al espacio de memoria necesario para ejecutar el algoritmo.
1.2 Conceptos básicos de estructura de datos
Tres aspectos de la investigación de la estructura de datos:
(1) La relación lógica interna entre los elementos de datos en el conjunto de datos, que es, la estructura lógica de los datos;
(2) Al procesar datos, la relación de almacenamiento de cada elemento de datos en la computadora, es decir, la estructura de almacenamiento de los datos;
(3) Opera la comprensión de varias estructuras de datos.
Una estructura de datos se refiere a una colección de elementos de datos interrelacionados.
La estructura lógica de los datos incluye:
(1) Representa la información de los elementos de datos
(2) Representa la relación entre los elementos de datos.
La estructura de almacenamiento de datos incluye orden, enlace, índice, etc.
Condiciones de estructura lineal:
(1) Hay y solo hay un nodo raíz.
(2) Cada nodo tiene como máximo una pieza frontal, y como máximo una pieza posterior.
Estructura no lineal: estructura de datos que no cumple las condiciones de una estructura lineal.
1.3 Tabla lineal y su estructura de almacenamiento secuencial
Una tabla lineal consta de un conjunto de elementos de datos. La posición de los elementos de datos solo depende de su propio número de serie. entre los elementos es lineal.
En una tabla lineal compleja, un elemento de datos compuesto por múltiples elementos de datos se llama registro, y una tabla lineal compuesta por múltiples registros también se llama archivo.
Características estructurales de listas lineales no vacías;
(1) y solo hay un nodo raíz a1, sin antecedente;
(2) hay solo un nodo terminal y no hay posparto;
(3) Excepto el nodo raíz y el nodo terminal, todos los demás nodos tienen un solo antecedente y una consecuencia. El número de nodos n se denomina longitud de la lista lineal, y cuando n = 0 se denomina lista vacía.
La estructura de almacenamiento secuencial de una mesa lineal tiene las siguientes dos características básicas:
(1) El espacio de almacenamiento ocupado por todos los elementos en la mesa lineal es continuo;
(2) Los elementos de datos de la tabla lineal se almacenan en el espacio de almacenamiento en orden lógico.
La dirección de almacenamiento de ai es: ADR(AI)= ADR(a1)+(I-1)k, donde ADR(a 1) es la dirección del primer elemento y k representa la ocupación de cada elemento número de bytes.
Operaciones de lista de secuencias: inserción y eliminación. (Consulte las páginas 14-16 para obtener más detalles)
1.4 Pilas y colas
La pila es una lista lineal, limitada a un extremo, que se utiliza para inserción y eliminación. El extremo que permite la inserción y eliminación se llama parte superior de la pila, y el otro extremo que no permite la inserción y eliminación se llama parte inferior de la pila.
La pila organiza los datos según "FILO" o "LIFO", y la pila tiene una función de memoria.
Utilice top para representar la posición en la parte superior de la pila y use bottom para representar la posición en la parte inferior de la pila.
Operaciones básicas de la pila: (1) Insertar un elemento se llama operación de pila; (2) Eliminar un elemento se llama operación de pila (3) Leer el elemento superior de la pila es asignar; el elemento superior de la pila a la variable especificada, el puntero permanece sin cambios en este momento.
Cola se refiere a una lista lineal que permite la inserción en un extremo (el final de la cola) y la eliminación en el otro extremo (el encabezado de la cola). El siguiente puntero apunta al final de la línea y el puntero anterior apunta al comienzo de la línea.
Una cola es una lista lineal de FIFO o LILO.
Las operaciones de cola incluyen (1) operación de puesta en cola: insertar un elemento desde el final de la cola; (2) operación de salida: eliminar un elemento del encabezado de la cola.
Cola circular: s=0 significa que la cola está vacía, s=1, front=rear significa que la cola está llena.
1.5 Lista Enlazada Lineal
Cada nodo en la estructura de datos corresponde a una unidad de almacenamiento, llamada nodo de almacenamiento.
Un nodo consta de dos partes: (1) se utiliza para almacenar valores de elementos de datos, llamados campos de datos; (2) se usa para almacenar punteros, llamados campos de puntero, que se usan para apuntar al nodo anterior o al siguiente. nodo.
En la estructura de almacenamiento en cadena, el espacio de almacenamiento para almacenar estructuras de datos puede ser discontinuo y el orden de almacenamiento de cada nodo de datos puede ser inconsistente con la relación lógica entre los elementos de datos. Las relaciones están determinadas por campos de puntero.
El almacenamiento encadenado se puede utilizar para representar estructuras lineales y no lineales.
Para listas enlazadas lineales, HEAD se denomina puntero principal y HEAD=NULL (o 0) se denomina lista vacía. Si hay dos punteros, el puntero izquierdo (Llink) apunta al nodo anterior y el puntero derecho (Rlink) apunta al nodo siguiente.
Operaciones básicas de listas enlazadas lineales: búsqueda, inserción y borrado.
1.6 Árboles y árboles binarios
Un árbol es una estructura no lineal simple y todos los elementos tienen características jerárquicas obvias.
En una estructura de árbol, cada nodo tiene un solo antecedente, llamado nodo padre, y un solo nodo sin antecedentes, llamado nodo raíz del árbol. Cada nodo puede tener múltiples nodos sucesores, que se denominan hijos del nodo. Los nodos sin nodos sucesores se denominan nodos hoja.
En una estructura de árbol, el número de continuaciones que posee un nodo se denomina grado del nodo, y el grado máximo entre todos los nodos se denomina grado del árbol. El nivel más alto de un árbol se llama profundidad del árbol.
Características de los árboles binarios: (1) Un árbol binario no vacío tiene solo un nodo raíz (2) Cada nodo tiene como máximo dos subárboles, que se denominan subárbol izquierdo y subárbol derecho del nodo; .
Propiedades básicas de los árboles binarios:
(1) El k-ésimo nivel de un árbol binario tiene como máximo 2k-1 (k≥1) nodos;
(2) Un árbol binario con profundidad m tiene como máximo 2m-1 nodos;
(3) Siempre hay un nodo más con grado 0 (es decir, nodo hoja) que nodo con grado 2;
(4) Un árbol binario con n nodos tiene una profundidad de al menos [log2n]+1, donde [log2n] representa la parte entera de log2n;
(5) Un árbol binario completo con n nodos La profundidad es [log2n]+1;
(6) Supongamos que un árbol binario completo * * * tiene n nodos. Si partiendo del nodo raíz, los nodos usan números naturales 1, 2,...n en orden (de izquierda a derecha en cada capa) (k = 1, 2...n), se llega a la siguiente conclusión:
(1) Si k=1, entonces el nodo es el nodo raíz y no tiene nodo padre si k & gt1, el número de nodo padre de este nodo es int(k/2); p>
(2) Si 2k≤n, el número de nodo secundario izquierdo del nodo numerado k es 2k; de lo contrario, el nodo no tiene nodo secundario izquierdo (ni nodo secundario derecho);
(3); ) Si 2k+1≤n, el número de nodo secundario correcto del nodo numerado k es 2k+1; de lo contrario, el nodo no tiene un nodo secundario correcto;
Un árbol binario completo significa que, excepto el último nivel, todos los nodos de cada nivel tienen dos nodos secundarios, por lo que un árbol binario completo con una profundidad de m en el nivel K tiene 2m-1 nodos.
Un árbol binario completo significa que, excepto la última capa, el número de nodos en cada capa alcanza el máximo y la última capa solo carece de unos pocos nodos a la derecha.
La estructura de almacenamiento del árbol binario adopta una estructura de almacenamiento en cadena, y el árbol binario completo y el árbol binario completo se pueden almacenar en orden.
Recorrido del árbol binario:
(1) Recorrido de orden (DLR): primero visite el nodo raíz, luego atraviese el subárbol izquierdo y finalmente atraviese el subárbol derecho;
(2) Recorrido en orden (LDR), primero atraviesa el subárbol izquierdo, luego visita el nodo raíz y finalmente atraviesa el subárbol derecho;
(3) Recorrido en posorden (LRD) primero atraviesa el subárbol izquierdo, luego visita el subárbol derecho y finalmente visita el nodo raíz.
1.7 Tecnología de búsqueda
Uso de búsqueda secuencial:
(1) La tabla lineal está desordenada
(2) La tabla utiliza; estructura de almacenamiento en cadena.
La búsqueda binaria sólo se aplica a listas ordenadas almacenadas de forma secuencial. Para una lista lineal ordenada de longitud n, en el peor de los casos, sólo se necesitan comparaciones log2n.
1.8 Tecnología de clasificación
Clasificar se refiere a clasificar una secuencia desordenada en una secuencia ordenada dispuesta en orden no descendente por valor.
Método de clasificación de intercambio: (1) Método de clasificación de burbujas, el número de comparaciones es n (n-1)/2 (2) Método de clasificación rápida.
Método de clasificación por inserción: (1) Método de clasificación por inserción simple, que requiere n(n-1)/2 comparaciones en el peor de los casos (2) Método de clasificación Hill, que requiere O(n1) en el peor de los casos; peor de los casos .5) comparaciones.
Método de clasificación por selección: (1) Método de clasificación por selección simple,
El peor de los casos requiere n (n-1)/2 comparaciones (2) Método de clasificación del montón, el peor de los casos; En el mal caso, se requieren comparaciones O(nlog2n).
Capítulo 2 Conceptos básicos de programación
2.1 Métodos y estilos de diseño de programación
Cómo formar un buen estilo de programación
1. documentación; 2. Método de interpretación de datos;
3. Estructura de la declaración 4. Entrada y salida.
Las anotaciones se dividen en anotaciones de prefacio y anotaciones funcionales. La estructura clara de la oración es lo primero y la eficiencia es lo segundo.
2.2 Programación Estructurada
Los cuatro principios de los métodos de programación estructurada son: 1. De arriba hacia abajo; 2. Mejora gradual; 3. Modularización 4. Limitar el uso de declaraciones goto.
La estructura básica y las características de los programas estructurados;
(1) Estructura de secuencia: una programación simple, la estructura más básica y comúnmente utilizada;
(2 ) Estructura de selección: también conocida como estructura de rama, que incluye selección simple y estructura de selección de múltiples ramas, qué rama se selecciona para ejecutar la secuencia de oraciones correspondiente de acuerdo con las condiciones;
(3) Estructura de repetición: también llamada bucle estructura, que se puede seleccionar de acuerdo con lo determinado Determine si el mismo segmento de programa debe ejecutarse repetidamente en función de ciertas condiciones.
2.3 Programación orientada a objetos
Programación orientada a objetos: marcada por el lenguaje SIMULA desarrollado por la Universidad de Oslo y el Centro Noruego de Computación a finales de los años 1960.
Ventajas del método orientado a objetos:
(1) Consistente con el método de pensamiento utilizado por los humanos
(2) Buena estabilidad;
(3) Buena reutilización;
(4) Fácil de desarrollar productos de software grandes
(5) Buena mantenibilidad.
Objeto es el concepto más básico en el método orientado a objetos y puede usarse para representar cualquier entidad en el mundo objetivo. El objeto es la abstracción de la entidad.
El objeto en el método de programación orientada a objetos es una entidad utilizada para describir cosas objetivas en el sistema. Es la unidad básica del sistema y consta de un conjunto de atributos que representan sus características estáticas y un. conjunto de CAO que puede ejecutar.
Los atributos son información contenida en un objeto. Las operaciones CAO describen las funciones realizadas por un objeto. Las operaciones CAO también se denominan métodos o servicios.
Características básicas de los objetos:
(1) Unicidad de identificación
(2) Clasificación
(3) Polimorfismo
(4) Encapsulación;
(5) El módulo tiene buena independencia.
Una clase se refiere a una colección de objetos con * * * las mismas propiedades y * * * los mismos métodos. Entonces una clase es una abstracción de un objeto y un objeto es una instancia de la clase correspondiente.
Los mensajes son información que se pasa entre una instancia y otra instancia.
El mensaje consta de (1) el nombre del objeto que recibe el mensaje; (2) el identificador del mensaje, también llamado nombre del mensaje; (3) cero o más parámetros.
La herencia se refiere a la capacidad de obtener directamente propiedades y características existentes sin tener que definirlas repetidamente.
La herencia se divide en herencia única y herencia múltiple. La herencia única significa que una clase puede tener solo una clase principal y la herencia múltiple significa que una clase puede tener varias clases principales.
El polimorfismo se refiere al fenómeno de que cuando el mismo mensaje es recibido por diferentes objetos, dará lugar a acciones completamente diferentes.
Capítulo 3 Fundamentos de la Ingeniería de Software
3.1 Conceptos básicos de la Ingeniería de Software
El software informático es una colección completa de programas, datos y documentos relacionados.
Las funciones de este software incluyen:
(1) El software es una entidad lógica
(2) La producción de software es diferente de la producción de; hardware, y no hay una diferencia obvia en el proceso de producción;
(3) No hay problemas de desgaste y envejecimiento durante la operación y uso del software;
(4) El desarrollo. y el funcionamiento del software dependen y se ven afectados por las restricciones del sistema informático, lo que genera problemas de trasplante de software;
(5) El software es complejo y costoso;
(6) Software. El desarrollo involucra muchos factores sociales.
El software se divide en software de aplicación, software de sistema y software de soporte (o software de herramienta) según sus funciones.
La crisis del software se manifiesta principalmente en cuestiones como el coste, la calidad y la productividad.
La ingeniería del software es un conjunto de métodos, herramientas, documentación, estándares de práctica y procedimientos aplicados a la definición, desarrollo y mantenimiento de software informático.
La ingeniería del software incluye tres elementos: métodos, herramientas y procesos.
El proceso de ingeniería de software es un conjunto de recursos y actividades interrelacionados que transforman el software en resultados, incluidas cuatro actividades básicas:
(1) especificación de p-software;
(2) Desarrollo de software;
(3)verificación de software c;
(4) Evolución del software.
Ciclo del software: el proceso de los productos de software desde la propuesta, implementación, uso, mantenimiento hasta la discontinuación y el desguace.
El ciclo de vida del software tiene tres etapas: definición del software, desarrollo del software y operación y mantenimiento. Las principales etapas de la actividad incluyen:
(1) Estudio y planificación de viabilidad;
(2) Análisis de requisitos;
(3) Diseño de software;
(4) Implementación de software;
(5) Pruebas de software
(6) Operación y mantenimiento.
Objetivos y principios de la ingeniería de software;
Propósito: Bajo la premisa de un costo y cronograma dado, desarrollar productos con efectividad, confiabilidad, comprensibilidad, mantenibilidad y confiabilidad. adaptabilidad, portabilidad, trazabilidad e interoperabilidad para satisfacer las necesidades de los usuarios.
Objetivos básicos: pagar menores costos de desarrollo; cumplir con los requisitos funcionales del software; obtener un mejor rendimiento del software; desarrollar software que sea fácil de trasplantar; ser capaz de completar el desarrollo a tiempo y entregarlo a tiempo.
Principios básicos: abstracción, ocultación de información, modularidad, localización, certeza, coherencia, exhaustividad y verificabilidad.
Los contenidos de investigación teórica y técnica de la ingeniería de software incluyen principalmente: tecnología de desarrollo de software y gestión de ingeniería de software.
La tecnología de desarrollo de software incluye: metodología de desarrollo de software, proceso de desarrollo, herramientas de desarrollo y entorno de ingeniería de software.
La gestión de la ingeniería de software incluye: gestión de software, economía de la ingeniería de software, psicología del software, etc.
La gestión del software incluye organización del personal, cronograma, control de calidad, gestión de la configuración, planificación de proyectos, etc.
Los principios de la ingeniería de software incluyen abstracción, ocultación de información, modularidad, localización, determinismo, coherencia, integridad y verificabilidad.
3.2 Método Estructurado
El núcleo y fundamento del método estructurado es la teoría de la programación estructurada.
Los métodos de análisis de requisitos incluyen (1) método de análisis de requisitos estructurado; (2) método de análisis orientado a objetos.
A partir de las características del modelo establecidas por el análisis de la demanda, se divide en análisis estático y análisis dinámico.
La esencia del método estructurado es centrarse en el flujo de datos, descomponerlo de arriba a abajo, establecer el flujo de procesamiento del sistema y utilizar el diagrama de flujo de datos y el diccionario de datos como herramientas principales para establecer el modelo lógico del sistema.
Herramientas comunes para análisis estructurado
(1) Diagrama de flujo de datos; (2) Diccionario de datos (3) Árbol de decisiones (4) Tabla de decisiones;
Diagrama de flujo de datos: una herramienta para describir el proceso de procesamiento de datos. Es una representación gráfica de los requisitos que comprenden el modelo lógico. Apoya directamente el modelado de funciones del sistema.
Diccionario de datos: una lista organizada y definiciones precisas y rigurosas de todos los elementos de datos relevantes para un sistema para que los usuarios y analistas del sistema tengan la misma comprensión de las entradas, salidas, componentes de almacenamiento y resultados de cálculos intermedios.
Árbol de decisión: distingue qué condiciones se juzgan y qué conclusiones se juzgan a partir de la descripción textual de la definición del problema, y descubre la relación subordinada, la relación paralela y la relación de selección entre las condiciones de juicio según los conectivos en el material de descripción y construir un árbol de decisión en consecuencia.
Tabla de decisiones: Similar a un árbol de decisiones, cuando el procesamiento en el diagrama de flujo de datos depende de los valores de múltiples condiciones lógicas, es decir, cuando un conjunto de acciones para completar el procesamiento se compone de los valores de un conjunto de condiciones, es más apropiado describirlo como una tabla de decisiones.
El diccionario de datos es el núcleo del análisis estructurado.
Características de las especificaciones de requisitos de software:
(1) Corrección;
(2) Sin ambigüedad;
(3) Integridad;
(4) Verificabilidad;
(5) Consistencia;
(6) Comprensibilidad;
(7) Trazabilidad;
3.3 Método de diseño estructurado
El objetivo básico del diseño de software es determinar cómo el sistema objetivo completa las tareas predeterminadas de una manera más abstracta y general. modelo del sistema.
El diseño de software es el paso más importante en la fase de desarrollo y la única forma de transformar con precisión los requisitos en un producto o sistema de software completo.
Desde una perspectiva técnica, el diseño de software incluye el diseño de la estructura del software, el diseño de datos, el diseño de interfaces y el diseño de procesos.
Diseño estructural: Define la relación entre los principales componentes del sistema software.
Diseño de datos: Convierte el modelo creado durante el proceso de análisis en la definición de estructura de datos.
Diseño de interfaz: Describe cómo el software se comunica internamente, entre el software y los sistemas colaborativos, y entre el software y las personas.
Diseño de procesos: descripción del proceso que transforma los componentes estructurales del sistema en software.
Desde la perspectiva de la gestión de proyectos: diseño de esquema y diseño de detalle.
El proceso general de diseño de software: el diseño de software es un proceso iterativo; primero, el diseño estructural de alto nivel; luego, el diseño de procesos de bajo nivel se intercala con el diseño de datos y el diseño de la interfaz.
Para medir la independencia de los módulos de software se utilizan dos medidas cualitativas: acoplamiento y cohesión.
Cuanto más fuerte sea la cohesión de cada módulo en la estructura del programa, más débil será el acoplamiento. Un software excelente debe tener alta cohesión y bajo acoplamiento.
Las tareas básicas del diseño del esquema de software son:
(1) Diseñar la arquitectura del software; (2) Estructura de datos y diseño de bases de datos;
(3) Redactar; Documentos breves de diseño; (4) Revisión de documentos resumidos de diseño.
Los módulos están representados por rectángulos y las flechas representan las relaciones de llamada entre módulos.
En los diagramas de estructura, también puede utilizar flechas anotadas para representar la información que se transmite de un lado a otro durante las llamadas al módulo. La flecha con un círculo sólido también se puede utilizar para representar la transmisión de información de control, y el centro de la flecha del círculo hueco representa la transmisión de datos.
Las formas básicas de los diagramas de estructura: forma básica, forma secuencial, forma repetitiva y forma de selección.
Hay cuatro tipos de módulos en el diagrama de estructura: módulo de entrada, módulo de salida, módulo de conversión y módulo de coordinación.
Existen dos tipos de flujo de datos típicos: tipo de transformación y tipo de transacción.
El diagrama de estructura del sistema de transformación consta de tres partes: entrada, transformación central y salida.
Las características del flujo de datos transaccionales son: aceptar una transacción, seleccionar y programar una unidad de procesamiento adecuada de acuerdo con las características y naturaleza del procesamiento de la transacción, y luego dar el resultado.
Diseño detallado: consiste en determinar el algoritmo de implementación y la estructura de datos local de cada módulo en el diagrama de estructura del software, y utilizar una herramienta de expresión seleccionada para expresar los detalles del algoritmo y la estructura de datos.
Las herramientas comunes de diseño de procesos incluyen: herramientas gráficas (diagramas de flujo de programas), herramientas de tablas (tablas de juicio) y herramientas de lenguaje (PDL).
3.4 Pruebas de software
La definición de pruebas de software: el proceso de ejecutar o probar el sistema a través de medios manuales o automáticos, cuyo propósito es verificar si se cumplen los requisitos especificados. , o para averiguar si los resultados esperados son consistentes con las diferencias entre los resultados reales.
El propósito de las pruebas de software: el proceso de descubrir errores y ejecutar programas.
Métodos de prueba de software: pruebas estáticas y pruebas dinámicas.
Las pruebas estáticas incluyen inspección de código, análisis de estructura estática y medición de la calidad del código. No hay ejecución real del software, principalmente trabajo manual.
Prueba dinámica: Es una prueba informática básica, que incluye principalmente pruebas de caja blanca y pruebas de caja negra.
Pruebas de caja blanca: realizadas dentro del programa, utilizadas principalmente para completar la verificación de CAO en el software. Los métodos principales son la cobertura lógica y las pruebas de ruta básicas.
Prueba de caja negra: diagnostica principalmente funciones incorrectas u omitidas, errores de interfaz, estructura de datos o errores de acceso a bases de datos externas, errores de rendimiento, errores de condiciones de inicialización y terminación, y se utiliza para la verificación del software. Los métodos principales incluyen división de clases de equivalencia, análisis de valores límite, especulación de errores, diagramas de causa y efecto, etc.
El proceso de prueba de software generalmente se divide en cuatro pasos: prueba unitaria, prueba de integración, prueba de aceptación (prueba de confirmación) y prueba del sistema.
3.5 Depuración del programa
La tarea de la depuración del programa es diagnosticar y corregir errores en el programa, principalmente durante la fase de desarrollo.
Pasos básicos para la depuración del programa:
(1) Localizar errores
(2) Modificar el diseño y el código para eliminar errores
<; p >(3) Realizar pruebas de regresión para evitar la introducción de nuevos errores.La depuración de software se puede dividir en depuración estática y depuración dinámica. La depuración estática se refiere principalmente al análisis del código fuente y la depuración a través del pensamiento humano, que es el método de diseño principal, mientras que la depuración dinámica es una depuración estática auxiliar. Los principales métodos de depuración son:
(1) Método de depuración forzada;
(2) Método de retroceso
(3) Método de eliminación de causas.
Capítulo 4 Conceptos básicos del diseño de bases de datos
4.1 Conceptos básicos de sistemas de bases de datos
Datos: de hecho, son un registro simbólico que describe cosas.
Características de los datos: Tienen una determinada estructura, tipos y valores, como números enteros, tipos reales y tipos de caracteres. El valor de los datos da un valor que se ajusta al prototipo, como el valor entero 15.
Base de datos: Es una colección de datos con una estructura unificada y almacenados en un medio de almacenamiento unificado. Es una integración de varios datos de aplicaciones que todas las aplicaciones pueden disfrutar.
Los datos almacenados en la base de datos se almacenan de acuerdo con el patrón de datos proporcionado por los datos y tienen las características de integración y uso compartido.
Sistema de gestión de bases de datos: software del sistema responsable de la organización de los datos, las operaciones de los datos, el mantenimiento, el control y la protección de los datos y los servicios de los datos en la base de datos.
Funciones del sistema de gestión de bases de datos:
(1) Definición del esquema de datos: es decir, construir su marco de datos para la base de datos.
(2) Estructura física de la base de datos; acceso a datos: proporciona métodos de acceso efectivos y medios para el acceso físico y la construcción de esquemas de datos;
(3) CAO de datos: proporciona comodidad para que los usuarios utilicen datos en la base de datos, como consultas, inserción, modificación y eliminación y operaciones aritméticas simples y estadísticas;
(4) Definición e inspección de la integridad y seguridad de los datos;
(5) Control de concurrencia de bases de datos y recuperación de fallas;
(6) Servicios de datos: tales como replicación, transmisión, reorganización, monitoreo y análisis del desempeño.
Para completar las seis funciones anteriores, el sistema de gestión de bases de datos proporciona los siguientes lenguajes de datos:
(1) Lenguaje de definición de datos: responsable de la definición del esquema de datos y la estructura de acceso físico a los datos. ;
(2) Lenguaje vertical de CAO de datos: Responsable de los datos CAO verticales, como consultar, agregar, eliminar, modificar
(3) Lenguaje de control de datos: Responsable de la definición; y seguridad de la integridad y seguridad de los datos Inspección, control de concurrencia, recuperación de fallas, etc.
El lenguaje de datos tiene dos formas estructurales según su uso: comando interactivo (también llamado lenguaje autocontenido o autónomo) lenguaje anfitrión (generalmente incrustado en algún lenguaje anfitrión).
Administrador de Bases de Datos: Un administrador profesional que planifica, diseña, mantiene y monitorea bases de datos.
Sistema de base de datos: entidad operativa compuesta por cinco partes: base de datos (datos), sistema de gestión de bases de datos (software), administrador de bases de datos (personal), plataforma de hardware (hardware) y plataforma de software (software).
Sistema de aplicación de base de datos: consta de un sistema de base de datos, un software de aplicación y una interfaz de aplicación.
Etapa del sistema de archivos: proporciona capacidades simples de administración e intercambio de datos, pero no puede proporcionar capacidades completas y unificadas de administración e intercambio de datos.
Las etapas del sistema de base de datos jerárquica y de base de datos en malla: brindan un fuerte soporte para la unificación y el intercambio de datos.
Etapa del sistema de base de datos relacional
Las características básicas del sistema de base de datos son: integración de datos, alto disfrute de datos y baja redundancia, independencia de datos (independencia física e independencia lógica) y datos unificados. gestión y control.
Modelo de sistema de base de datos de tres niveles:
(1) Modelo conceptual: descripción de la estructura lógica de datos globales en el sistema de base de datos, vista de datos común para todos los usuarios;
(2) Modo externo: también llamado submodo y modo usuario. Es la vista de datos del usuario, es decir, el modelo de datos visto por el usuario;
(3) Modelo interno: también llamado modelo físico, que proporciona la estructura de almacenamiento físico y el método de acceso físico a la base de datos. .
Mapeo de dos niveles del sistema de base de datos;
(1) Mapeo del esquema conceptual al esquema interno
(2) Esquema externo al esquema conceptual de mapeo; .
4.2 Modelo de datos
El concepto de modelo de datos es la abstracción de las características de los datos. Describe las características estáticas, el comportamiento dinámico y las restricciones del sistema desde un nivel abstracto, y proporciona las características. tabla de información y CAO del sistema de base de datos Proporciona un marco abstracto. Describe la estructura de datos, las operaciones de CAO de datos y las restricciones de datos.
Conceptos básicos del modelo E-R
(1) Entidad: cosas del mundo real;
(2) Atributos: características de las cosas;
(3) Conexión: la relación entre cosas en el mundo real. Las relaciones de conjuntos de entidades incluyen relaciones uno a uno, uno a muchos y muchos a muchos.
La conexión entre los tres conceptos básicos del modelo E-R: la entidad es la unidad básica en el mundo conceptual, los atributos tienen dominios de atributos y cada entidad puede tomar el valor en el dominio de atributos. Todos los valores de atributos de una entidad se denominan tuplas.
Representación gráfica del modelo E-R: (1) representación del conjunto de entidades; (2) método de tabla de atributos;
La estructura básica del modelo jerárquico es una estructura de árbol, que tiene las siguientes características:
(1) Cada árbol tiene uno y sólo un nodo sin padres, llamado raíz;< /p >
(2) Todos los nodos del árbol, excepto la raíz, tienen un solo nodo principal.
Desde la perspectiva de la teoría de grafos, el modelo de cuadrícula es un gráfico no dirigido sin condiciones.
El modelo relacional está representado por una tabla bidimensional, denominada tabla, que consta de un marco de tabla y una tupla de tabla. Una tabla bidimensional es una relación.
El atributo más pequeño que puede identificar de forma única una tupla en una tabla bidimensional se llama clave o código. Seleccione una clave de todos los candidatos para que sea la clave principal del usuario. Si un atributo de la tabla A es una clave para la tabla B, el conjunto de atributos se denomina clave externa o código de clave externa de A.
Restricciones de datos en las relaciones:
( 1) Restricción de integridad de la entidad: el valor del atributo en la clave principal de la relación de restricción no puede estar vacío;
(2) Restricción de integridad referencial: es la restricción básica entre relaciones;
(3) Restricciones de integridad personalizadas: refleja los requisitos semánticos de los datos en aplicaciones específicas.
4.3 Álgebra relacional
Una de las características del sistema de base de datos relacional es que se basa en la teoría de datos y puede representar los datos del modelo relacional. CAO tiene muchas teorías de datos. el más famoso de los cuales es el álgebra relacional y el cálculo relacional.
Operaciones básicas del modelo relacional:
(1) Inserción (2) Eliminación (3) Modificación (4) Consulta (incluidas operaciones de proyección, selección y producto cartesiano)
4.4 Diseño y gestión de bases de datos
El diseño de bases de datos es el núcleo de la aplicación de datos.
Dos métodos de diseño de bases de datos:
(1) Orientado a datos: dar prioridad a las necesidades de información y tener en cuenta las necesidades de procesamiento;
(2) Proceso Orientado: dar prioridad a las necesidades de Procesamiento, teniendo en cuenta las necesidades de información.
El ciclo de vida de la base de datos: fase de análisis de requisitos, fase de diseño conceptual, fase de diseño lógico, fase de diseño físico, fase de codificación, fase de prueba, fase de operación y fase de modificación posterior.
Los métodos comúnmente utilizados para el análisis de requisitos incluyen métodos de análisis estructurados y métodos orientados a objetos. El método de análisis estructural (SA) analiza el sistema mediante descomposición de arriba hacia abajo y capa por capa. Utilice diagramas de flujo de datos para expresar la relación entre datos y procesamiento. Para el diseño de bases de datos, el diccionario de datos es el resultado principal de la recopilación y el análisis de datos detallados.
El diccionario de datos es una colección de varias descripciones de datos, que incluyen cinco partes: elementos de datos, estructuras de datos, flujos de datos (ya sean elementos de datos o estructuras de datos), almacenamiento y procesamiento de datos.
El propósito del diseño conceptual de una base de datos es analizar las relaciones semánticas inherentes a los datos. Hay dos formas de diseñar.
(1) Método de diseño de patrones centralizado (aplicable a unidades o departamentos pequeños o poco complejos);
(2) Método de diseño de integración de vistas.
Método de diseño: modelo E-R e integración de vistas.
Por lo general, hay tres órdenes de diseño en el diseño de vistas: de arriba hacia abajo, de abajo hacia arriba y de adentro hacia afuera.
Varios tipos de conflictos en la integración de vistas: conflictos de nombres, conflictos de conceptos, conflictos de dominio y conflictos de restricciones.
Diseño de vista relacional: El diseño de vista relacional también se denomina diseño de esquema externo.
Las funciones principales de la vista relacional:
(1) Proporcionar independencia lógica de los datos.
(2) Puede satisfacer las diferentes necesidades de datos de los usuarios;
p>
(3) Tiene ciertas funciones de seguridad de datos.
El objetivo principal del diseño físico de la base de datos es ajustar la estructura física interna de los datos y seleccionar una ruta de acceso razonable, aumentando así la velocidad de acceso a la base de datos y utilizando eficazmente el espacio de almacenamiento. En términos generales, el contenido que se deja a los usuarios para participar en el diseño físico en RDBMS es el diseño de índices, el diseño de clústeres integrados y el diseño de particiones.
Contenidos de la gestión de la base de datos:
(1) Establecimiento de la base de datos
(2) Ajuste de la base de datos
(3) Reorganización de la base de datos;
(4) Control de integridad y seguridad de la base de datos;
(5) Recuperación de fallas de la base de datos;
(6) Monitoreo de la base de datos.