Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 1 - Base de Datos 2 - Grupo 6
Practica 1 - Base de Datos 2 - Grupo 6
MATERIA:
SECCIÓN:
02
TEMA:
ACTIVIDAD 1
TRIMESTRE:
MAESTRO:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Aquí estoy creando la base de datos y sus tablas, la base de datos la cree usando la
interfaz gráfica y las tablas mediante Query.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 3
• CLUSTERED:
Como se puede ver la imagen al crear una llave primaria esta es tomada como un
clustered index, ya que la llave primaria cumple con esta función.
• NON-CLUSTERED:
3. UNIQUE Index
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
4. Composite Index
Page | 4
5. Inverted Index
Aquí estoy creando una estructura de datos llamada inverted index para mejorar
el rendimiento de búsquedas de textos, estoy empleando varias funciones para
llevar esto acabo, una de ellas es el “string_split” para separar los palabras usando
el criterio del espacio que estaría representado como (‘ ‘), también hago uso del
Trim para eliminar el espacio al principio y al final de cada palabra para luego
poder ordenarlas y agruparlas mediante el “GROUP BY TRIM()”, también hago
uso del “STRING_AGG” para poder concatenar los id donde se encuentran en
uso dichas palabras, este sería el resultado:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 5
6. Filtered Index
7. Primary Key
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Aquí estoy creando una tabla con un Foreign Key Constraint en la tabla de
Employees que hace referencia a la tabla de Departments
En esta ocasión estoy creado un check constraint que evalúa que el campo GPA
sea mayor a 0.0 y menor a 4.0
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
12. Not
NULL
Page | 7
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 8
Los dos anteriores casos fallaron ya que tanto el campo CustomerID como el
campo FirstName tienen constrains que no permite campos nulos.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 9
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 10
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Aliany González:
1. Creación de la Base de Datos y tablas que la constituyen
Page | 11
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 12
• Primary Key
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Como podemos ver en la imagen anterior, los Constraints de tipo Primary Key
fueron creados desde el modelado y creación de las tablas, estos hacen que no se
Page | 13
pueda insertar el mismo ID más de una vez.
• Unique Constraint
Este Unique Constraint se encarga de que los registros de ese campo sean únicos,
dígase que no se pueda repetir un registro de ese campo.
Veamos un ejemplo:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 14
Estos Clientes fueron ingresados de manera previa para este ejemplo, digamos que
voy a crear un nuevo cliente con la misma cedula de nuestro cliente de ID = 2
(Héctor Sánchez: 40213762839) a ver que sucede:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Como podemos ver en la imagen anterior, los Constraints de tipo Foreign Key
fueron creados desde el modelado y creación de las tablas, estos permiten las
relaciones entre tabla, o sea, que exista una comunicación entre estas.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 16
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 17
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 18
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 19
Ahora veamos si nuestro check del campo edad funciona (Es un hotel para adultos
por lo tanto los clientes deben ser mayores de 18 años):
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 20
Veamos un ejemplo:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
• Not NULL
Page | 21
Podemos observar como muchos campos tienen el Constraint de Not Null, lo cual
significa que estos campos en especifico no aceptan valores NULL o nulos.
Veamos un ejemplo:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 22
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
2.1 El Clustered index es la primary key de cada tabla, como solo puede
haber un clustered index este será el que utilice a la hora de hacer consultas.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 24
Este índice es de tipo único, lo que significa que no permite valores duplicados en
la columna nombre_plato. Cada valor en esta columna debe ser único en la tabla
platos.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 25
Este índice es compuesto porque involucra más de una columna. En este caso, se
compone de las columnas pedido_id y plato_id.
2.4 Inverted index.
Este índice se utiliza para mejorar el rendimiento de las consultas que realizan
búsquedas de texto completo en la columna descripción de la tabla platos.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 26
Este tipo de índice está diseñado para indexar solo un subconjunto de filas que
cumplen con una condición específica. En este caso, se está filtrando por el valor
'En proceso' en la columna estado_pedido.
2.5 full-text index
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 27
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 28
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 30
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 31
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 32
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
dato ingresado no existe en la tabla pedidos, no es posible ingresar el
registro.
5. espacio de disco y de memoria disponible.
Page | 33
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 34
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Jhoan Santana:
• Creación de la base de datos con sus respectivas tablas.
Page | 35
En esta parte, se está creando una base de datos llamada "hospital" y se definen cinco tablas
dentro de ella: "paciente", "doctor", "cita", "tratamiento" y "palabras_clave". Cada tabla tiene
columnas específicas para almacenar información relacionada con pacientes, doctores, citas,
tratamientos y palabras clave.
La tabla "paciente" almacena información sobre pacientes, como su nombre, edad y género.
La tabla "doctor" almacena información sobre doctores, como su nombre y especialidad.
La tabla "cita" registra las citas entre pacientes y doctores, con información sobre la fecha.
La tabla "tratamiento" guarda detalles sobre tratamientos asignados a pacientes, con una
descripción del tratamiento.
La tabla "palabras_clave" es utilizada para almacenar palabras clave asociadas a ciertos
contextos.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
• Creación de índices
Page | 36
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Creación de índices:
En esta sección, se están creando varios tipos de índices para mejorar el rendimiento y la
eficiencia de las consultas en la base de datos. Page | 37
Se crean índices clustered y no clustered en las tablas "cita" y "tratamiento"
respectivamente, para acelerar la búsqueda de registros según la fecha y el paciente.
Se establece un índice único en la tabla "doctor" para garantizar que no haya nombres
de doctores duplicados.
Se crea un índice compuesto en la tabla "cita" para mejorar la búsqueda de citas según el
paciente y el doctor.
Se aplica un índice invertido en la tabla "tratamiento" para mejorar la búsqueda de
palabras clave en las descripciones de los tratamientos.
Se utiliza un índice filtrado (o índice de texto completo) en la tabla "doctor" para buscar
nombres que contengan la abreviatura "Dr.".
• Constraints
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Constraints:
En esta sección, se aplican restricciones a las tablas para garantizar la integridad de los
datos y cumplir con ciertas reglas empresariales. Page | 38
Se establecen claves primarias y únicas para asegurar identificadores únicos en las tablas.
Se aplican restricciones de clave externa (foreign key) para vincular la tabla "cita" con la
tabla "paciente".
Se agregan restricciones de verificación (check constraints) para garantizar que la edad
de los pacientes sea no negativa y que el género sea válido.
Se establecen restricciones de no nulo y predeterminado en ciertas columnas para
garantizar la presencia de valores y proporcionar valores predeterminados si no se
proporcionan.
• Inserción de registro
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 39
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 40
Inserción de registros:
En esta parte, se están insertando datos de ejemplo en las tablas recién creadas para simular la
información de pacientes, doctores, citas, tratamientos y palabras clave.
Se ingresan registros de pacientes, doctores, citas, tratamientos y palabras clave utilizando
comandos INSERT INTO.
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
• Ejemplos de fallo
Page | 41
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Ejemplos de fallo:
ACTIVIDAD #1
EQUIPO DE TRABAJO 6
INS380-02 – BASE DE DATOS II
PROF. ISAÍAS MERCADO LÓPEZ
Page | 43
ACTIVIDAD #1
EQUIPO DE TRABAJO 6