Post on 07-Jul-2015
ISEÑO Y ADMINISTRACION DE BASE DE
ATOS AVANZADAS
Centro de Bachillerato Tecnológico, Industrial y de Servicios
CBTIS 172
Cortázar, Guanajuato
ASESOR(A)
Esperanza Pescador Espitia
ALUMNO(A)
Mariana Ramírez Alva
SEMESTRE Y GRUPO
3°”C”
PROYECTO I
Elaborar y prologar Base de Datos estructurados
D
INDICE…
1. Introducción Beta
2. Base de Datos
Historia y evolución de la Base de Datos.
Definición de una Base de Datos.
3. SQL (Structured Query Language)
Historia y evolución de SQL (Structured Query Language).
Definición de SQL
Comandos INSERT, UPDATE, DELETE y SELECT.
4. Modelo Entidad-Relación
Historia y evolución del modelo Entidad-Relación.
Definición de modelo Entidad-Relación.
Simbología y tipos de relación e integridad.
Diagramas Entidad-Relación
Ejercicio: Texto enviado por la empresa Beta.
5. Querys
Enunciado del problema y tablas
6. Fuentes de consulta
7. Introducción Iteso
8. Diagrama Entidad-Relación
Enunciado Iteso
Diagrama Entidad-Relación
9. Querys
Tablas Iteso
Enunciado de los problemas y tablas
INTRODUCCION BETA
Este proyecto tiene como finalidad expandir más nuestro conocimiento y
también del usuario, además de mejorar el desarrollo y evolución de nuestra
forma de pensar a nivel lógico matemático, así de esta manera dar como
resultado una forma de razonar lógica y coherente en la solución de problemas
de lógica matemática. Con este proyecto nos veremos beneficiados ya que
ampliaremos un poco más nuestro razonamiento y nos ayudara a pensar y
esforzarnos un poco más para nuestro rendimiento.
Este proyecto incluye temas como la historia y la evolución de Base de Datos,
mencionando como desde un principio comenzó a surgir la necesidad de
almacenar grandes cantidades de datos para su posterior consulta a partir de
que las nuevas empresas empezaron a producir enormes cantidades de
información la cual tenían la necesidad de almacenar para después darle un
determinado uso. Las grandes industrias que se dedicaban al manejo y
almacenamiento de datos comenzaron a tener la necesidad de tener una mayor
fuente de almacenamiento así dejando atrás las anticuadas formas de
almacenamiento de datos que en un entonces ya se tenían en uso. A partir de
esa necesidad comenzaron a surgir programas como SQL que cumplían y
satisfacían las necesidades adecuadas para almacenar datos. Con el
surgimiento de esta clase de Softwares, comenzaron a modificar y sobre todo a
mejorar su rendimiento y capacidad para almacenar datos de esos programas.
Con estos grandes avances tecnológicos ya no era necesario usar tarjetas
perforadas ni sobre todo estarlas sustituyendo cada cierto intervalo de tiempo,
esta revolución tecnológica ha mejorado los rendimientos, funciones y sobre
todo la manera de almacenar una gran cantidad de datos de diferentes clases.
Regresar
BASE DE DATOS
HISTORIA Y EVOLUCION DE LA BASE DE DATOS
El uso de sistemas de bases de datos automatizadas, se desarrolló a partir de la
necesidad de almacenar grandes cantidades de datos, para su posterior consulta,
producidas por las nuevas industrias que creaban gran cantidad de información.
Herman Hollerith (1860-1929) fue denominado el primer ingeniero estadístico de la
historia, ya que inventó una computadora llamada “Máquina Automática
Perforadora de Tarjetas”. Para hacer el censo de Estados Unidos en 1880 se
tardaron 7 años para obtener resultados, pero Herman Hollerith en 1884 creó la
máquina perforadora, con la cual, en el censo de 1890 dio resultados en 2 años y
medio, donde se podían obtener datos importantes como número de nacimientos,
población infantil y número de familias. La máquina uso sistemas mecánicos para
procesar la información de las tarjetas y para tabular los resultados.
A diferencia con la máquina de Babbage, que utilizaba unas tarjetas similares,
éstas se centraban en dar instrucciones a la máquina. En el invento de Herman
Hollerith, cada perforación en las tarjetas representaba un número y cada dos
perforaciones una letra, cada tarjeta tenía capacidad para 80 variables. La
máquina estaba compuesta por una perforadora automática y una lectora, la cual
por medio de un sistema eléctrico leía los orificios de las tarjetas, ésta tenía unas
agujas que buscaban los orificios y al tocar el plano inferior de mercurio enviaba
por medio del contacto eléctrico los datos a la unidad. Este invento disparó el
desarrollo de la tecnología, la industria de los computadores, abriendo así nuevas
perspectivas y posibilidades hacia el futuro.
DÉCADA DE 1950
Se desarrollaron las cintas magnéticas para el almacenamiento de datos, las
cuales sirvieron para suplir las necesidades de información de las nuevas
industrias. Con los datos almacenados en cintas las tareas de procesamiento de
datos tales como las nóminas fueron, aunque también se podía pasar desde las
tarjetas perforadas, simulando un sistema de Backup o Respaldo, que consiste en
hacer una copia de seguridad o copia de respaldo, para guardar en un medio
extraíble la información importante. La nueva cinta a la que se transfiere la
información pasa a ser una cinta maestra. Estas cintas (y los paquetes de tarjetas
perforadas) sólo se podían leer secuencial y ordenadamente, requiriendo grandes
cantidades de tiempo para las operaciones sobre ellas.
DÉCADA DE 1960
El amplio uso de los discos fijos cambió en gran medida el escenario del
procesamiento de datos, ya que los discos fijos permitieron el acceso directo a los
datos, lo que ayudó a ahorrar tiempo. La ubicación de los datos en disco no era
importante, ya que a cualquier posición del disco se podía acceder en sólo
milisegundos. A diferencia de las cintas magnéticas, ya no era necesaria la
secuencialidad. Los discos dieron inicio a las bases de datos, de red y jerárquicas,
pues los programadores con su habilidad de manipulación de estructuras junto con
las ventajas de los discos era posible guardar estructuras de datos como listas y
árboles. Esas bases de datos eran demasiado complejas e inflexibles y sólo
podían ser usadas por personal muy calificado. Aunque para escribir los
programas de aplicación se utilizaban lenguajes de alto nivel se disponía también
de instrucciones y de subrutinas especializadas para tratar las bases de datos que
requerían que el programador conociera muchos detalles del diseño físico, y que
hacían que la programación fuera muy compleja.
DÉCADA DE 1970
Edgar Frank Codd, en un artículo "Un modelo relacional de datos para grandes
bancos de datos compartidos" ("A Relational Model of Data for Large Shared Data
Banks") en 1970, definió el modelo relacional y publicó una serie de reglas para la
evaluación de administradores de sistemas de datos relacionales y así nacieron
las bases de datos relacionales. La simplicidad del modelo relacional y la
posibilidad de ocultar completamente los detalles de implementación al
programador fueron realmente atractivas. Codd obtuvo posteriormente el
prestigioso premio Turing de la ACM (Association of Cumputing Machinery,
asociación de la maquinaria informática) por su trabajo. A partir de los aportes de
Codd el multimillonario Larry Ellison desarrolló la base de datos Oracle, el cual es
un sistema de administración de base de datos, que se destaca por sus
transacciones, estabilidad, escalabilidad y multiplataforma.
DÉCADA DE 1980
Inicialmente no se usó el modelo relacional debido a que tenía inconvenientes por
el rendimiento, ya que no podían ser competitivas con las bases de datos
jerárquicas y de red. Esta tendencia cambió por un proyecto de IBM el cual
desarrolló técnicas para la construcción de un sistema de bases de datos
relacionales eficientes, llamado System R, un proyecto en IBM Research que
desarrolló técnicas para la construcción de un sistema de bases de datos
relacionales eficiente. Las bases de datos relacionales con su sistema de tablas,
filas y columnas, pudieron competir con las bases de datos jerárquicas y de red
incluso en área de rendimiento, ya que su nivel de programación era bajo y su uso
muy sencillo, reemplazando finalmente a las bases de datos jerárquicas y de red.
DÉCADA DE 1990
Al acabar la década de los 80’s, los sistemas de base de datos relacionales ya se
utilizaban prácticamente en todas las empresas.
Para la toma de decisiones se crea el lenguaje SQL (estandarizándose
posteriormente), que es un lenguaje programado para consultas. El programa de
alto nivel SQL es un lenguaje de consulta estructurado que analiza grandes
cantidades de información el cual permite especificar diversos tipos de
operaciones frente a la misma información, a diferencia de las bases de datos de
los 80’s que eran diseñadas para las aplicaciones de procesamiento de
transacciones, que eran intensivas en actualizaciones. Los grandes distribuidores
de bases de datos incursionaron con la venta de bases de datos orientada a
objetos.
El principal acontecimiento a finales de los 90’s fue el crecimiento explosivo de
World Wide Web. Las bases de datos se implantaron mucho más extensivamente
que nunca antes. Los sistemas de bases de datos tienen ahora soporte para tasas
de transacciones muy altas, así como muy alta fiabilidad y disponibilidad 24 horas
al día y 7 días a la semana, que significa que no hay tiempos de inactividad
debidos a actividades de mantenimiento planificadas. Los sistemas de bases de
datos también tuvieron interfaces Web a los datos, pues por este medio se
facilitaba su consulta.
TENDENCIAS ACTUALES
Hoy día, los sistemas de base de datos relacionales están en plena transformación
para adaptarse a tres tecnologías de éxito reciente, fuertemente relacionadas: la
multimedia, la de orientación a objetos e Internet y la Web.
La rápida adopción de la Web a los sistemas de información hace que los
sistemas de base de datos incorporen recursos para ser servidores de páginas
Web, como por ejemplo la inclusión de SQL en guiones HTML, SQL incorporado
en Java, etc. Notando que en el mundo de la Web son habituales los datos
multimedia y la orientación a objetos.
Durante estos últimos años se ha empezado a extender un tipo de aplicación de
las bases de datos denominado Data Warehouse, o almacén de datos, que
también produce algunos cambios en los sistemas de base de datos relacionales
del mercado. A lo largo de los años que han trabajado con bases de datos de
distintas aplicaciones, las empresas han ido acumulando gran cantidad de datos
de todo tipo. Si estos datos se analizan convenientemente pueden dar información
valiosa.
Por lo tanto, se trata de mantener una gran base de datos con información
proveniente de toda clase de aplicaciones de la empresa (e incluso de fuera). Los
datos de este gran almacén, el Data Warehouse, se obtienen por una replicación
más o menos elaborada de las que hay en las bases de datos que se utilizan en el
trabajo cotidiano de la empresa. Estos almacenes de datos se utilizan
exclusivamente para hacer consultas, de forma especial para que lleven a cabo
estudios los analistas financieros, los analistas de mercado, etc.
Actualmente, los sistemas de base de datos relacionales se adaptan a este tipo de
aplicación, incorporando, por ejemplo, herramientas como la creación y el
mantenimiento de réplicas con una cierta elaboración de los datos, la
consolidación de datos de orígenes diferentes, la creación de estructuras físicas
que soporten eficientemente el análisis multidimensional, etc.
DEFINICION DE UNA BASE DE DATOS
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemáticamente para su posterior uso. En este
sentido; una biblioteca puede considerarse una base de datos compuesta en su
mayoría por documentos y textos impresos en papel e indexados para su consulta.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y
la electrónica, la mayoría de las bases de datos están en formato digital
(electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de
soluciones al problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado
DBMS, que permiten almacenar y posteriormente acceder a los datos de forma
rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y
administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones
públicas. También son ampliamente utilizadas en entornos científicos con el objeto
de almacenar la información experimental.
Regresar
SQL (STRUCTURED QUERY LANGUAGE)
HISTORIA Y EVOLUCION DE SQL
Los orígenes del SQL están ligados a los de las bases de datos relacionales. En
1970 E. F. Codd propone el modelo relacional y asociado a este un sub lenguaje
de acceso a los datos basado en el cálculo de predicados. Basándose en estas
ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English
Query Language) que más tarde sería ampliamente implementado por el sistema
de gestión de bases de datos (SGBD) experimental System R, desarrollado en
1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez
en 1979 en un programa comercial.
El SEQUEL terminaría siendo el predecesor de SQL, siendo este una versión
evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los
diversos sistemas de gestión de bases de datos relacionales surgidos en los años
siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la
primera versión estándar de este lenguaje, el "SQL-86" o "SQL1". Al año siguiente
este estándar es también adoptado por la ISO.
Sin embargo, este primer estándar no cubre todas las necesidades de los
desarrolladores e incluye funcionalidades de definición de almacenamiento que se
consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y
revisado del SQL llamado "SQL-92" o "SQL2".
En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los
SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen
las distintas implementaciones comerciales del lenguaje es amplia, el soporte al
estándar SQL-92 es general y muy amplio.
Año Nombre Alias Comentarios
1986 SQL-86 SQL-87 Primera publicación hecha por ANSI. Confirmada por ISO en 1987.
1989 SQL-89 Revisión menor.
1992 SQL-92 SQL2 Revisión mayor.
1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para
relaciones jerárquicas), triggers y algunas características
orientadas a objetos.
2003 SQL:2003 Introduce algunas características de XML, cambios en las
funciones, estandarización del objeto sequence y de las columnas
auto numéricas.
2006 SQL:2006 ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se
puede utilizar conjuntamente con XML. Define maneras de importar
y guardar datos XML en una base de datos SQL, manipulándolos
dentro de la base de datos y publicando el XML y los datos SQL
convencionales en forma XML. Además, proporciona facilidades
que permiten a las aplicaciones integrar dentro de su código SQL
el uso de X Query, lenguaje de consulta XML publicado por el W3C
(World Wide Web Consortium) para acceso concurrente a datos
ordinarios SQL y documentos XML.
2008 SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones
de los cursores. Incluye los disparadores del tipo INSTEAD OF.
Añade la sentencia TRUNCATE.
DEFINICION DE SQL
El lenguaje de consulta estructurada o SQL (por sus siglas en inglés Structured
Query Language) es un lenguaje declarativo de acceso a bases de
datos relacionales que permite especificar diversos tipos de operaciones en ellas.
Una de sus características es el manejo del álgebra y el cálculo relacional que
permiten efectuar consultas con el fin de recuperar de forma
sencilla información de interés de bases de datos, así como hacer cambios en ella.
FUNCIONES DE MY SQL
SQL ESTA ESTRUCTURADO POR:
INSERT
UPDATE
DELETE
SELECT
SGBD
BD
Reportes
Tablas de datos (Manipular a través de vistas)
Querys
Comandos Clausulas y Parámetros
COMANDOS INSERT, UPDATE, DELETE, SELECT
INSERT
La instrucción INSERT permite crear o insertar nuevos registros en una tabla, una
sentencia en SQL agrega uno o más registros a una (y solo una) tabla en una
base de datos relacional.
Las cantidades de columnas y valores deben ser iguales. Si una columna no se
especifica le será asignado el valor por omisión, los valores especificados por la
sentencia deberán satisfacer todas las restricciones aplicables.
En general la sintaxis de la instrucción INSERT es la siguiente:
UPDATE
La instrucción UPDATE en SQL permite actualizar registros de una tabla. Se debe
por lo tanto indicar que registros se quieren actualizar mediante la cláusula
WHERE, y que campos mediante la cláusula SET, además se deberá indicar que
nuevo dato va a guardar cada campo. La sintaxis de UPDATE es:
Las cláusulas de UPDATE son las siguientes:
La cláusula SET establece los nuevos valores para las columnas indicadas.
La cláusula WHERE sirve para seleccionar las filas que se quieren modificar, si se
omite la cláusula WHERE por defecto modificara los valores en todas las filas de
la tabla.
INSERT INTO nombre_tabla (lista de campos separados por comas)
VALUES (lista de datos separados por comas)
UPDATE Nombre_Tabla
SET Columna1=Valor1, Columna2=Valor2
WHERE Columna3=Valor3
DELETE
La instrucción DELETE permite eliminar registros de una tabla, su sintaxis es
simple, puesto que solo se debe indicar que registros se desean eliminar mediante
la cláusula WHERE. En general la sintaxis de la instrucción es la siguiente:
WHERE filter condition1 (AND) or filter condition2, especifica que visual foxpro
solo marca algunos registros para eliminar.
Filter condition especifica los criterios que deben satisfacer los registros para
marcarlos para su eliminación. Puede incluir tantas condiciones como se desee, si
se conectan con el operador AND u OR. También se puede utilizar el operador
NOT para invertir el valor de una expresión lógica o utilizar EMPTY () para
comprobar si hay campos vacíos en la base de datos.
SELECT
La sentencia SELECT se utiliza para seleccionar datos de una tabla y copiarlos en
otra tabla diferente. Se suele utilizar para hacer una copia de seguridad (Backup)
de los datos de una tabla. La sintaxis de SELECT es la siguiente:
DELETE
FROM nombre_tabla
WHERE condiciones
SELECT*
INTO Nueva tabla (en nueva base de datos)
FROM Tabla actual
PARÁMETROS DE SELECT
SELECT Especifica los campos constantes y expresiones que se mostraran en
el resultado de la consulta.
ALL De forma predeterminada, se muestran todas las filas del resultado de la
consulta.
DISTINC Excluye duplicados de cualquier fila del resultado de la consulta.
FROM Indica las tablas que contienen los datos que ha obtenido la consulta.
LEFT (OUTER) Especifica que el resultado de la consulta contenga todas las
filas de la tabla a la izquierda de la palabra clave JOIN y solo las filas que
coincidan procedentes de la tabla de la derecha de la palabra clave JOIN.
RIGHT (OUTER) Especifica que el resultado contenga todas las filas de la
tabla a la derecha de la palabra clave JOIN y solo las filas de la tabla que
coincidan procedentes de la tabla de la izquierda de la palabra clave JOIN.
FULL (OUTER) Especifica que el resultado de la consulta contenga todas las
filas, coincidan o no de ambas tablas, la palabra OUTER es opcional.
Regresar
MODELO ENTIDAD-RELACION
HISTORIA Y EVOLUCION DEL MODELO ENTIDAD
RELACION
El modelo Entidad-Relación es el modelo de datos más ampliamente usado para
el diseño de Base de Datos.
Fue creado por Peter Chen en 1976 y desde entonces se ha vuelto muy popular.
En 1998 el ANSI selecciono el modelo Entidad-Relación como el modelo estándar
para los sistemas de diccionarios de recursos de información (IRDS).
Originalmente el modelo Entidad-Relación solo incluía conceptos básicos como
entidad, relación y atributos. Luego se agregaron otros conceptos como atributos
compuestos y las jerarquías de generalización.
DEFINICION DEL MODELO ENTIDAD-RELACION
(Modelo, Entidad-Vinculo, Modelo Entidad-Relación, Entity-Relationship, Modelo
relacional, Modelo Entidad-Relación) Es un tipo de modelo de datos conceptual de
alto nivel que se emplea en el diseño de las Bases de Datos relacionales. El
modelo Entidad-Relación muestra la estructura de la Base de Datos empleando
todo tipo de herramientas conceptuales.
SIMBOLOGIA
Relación
Entidad
Atributos
ATRIBUTO
Propiedad o característica de una entidad, una entidad particular es descrita por
los valores de sus atributos.
ENTIDAD
Define un conjunto de entidades que poseen los mismos atributos (Simples o
compuestos, almacenados derivados, mono valorados o multivalorados,
opcionales).
RELACION
Es una asociación entre entidades.
Relación Ternaria (Relacionan 3 entidades a la vez).
Relación Doble (Relacionan 2 entidades).
Relación Reflexiva (Tienen una entidad y una relación).
CARDINALIDAD
Es el número de relaciones en las que una entidad puede participar.
ROLES
Representa el papel que juega una determinada entidad.
IDENTIFICADORES
Son valores únicos en cada ejemplar de una entidad.
N:1 (Muchos a 1)
1:N (1 a muchos)
N:N N:N (Muchos a muchos)
0 a muchos
Muchos a 1
NORMAS DEL DISEÑO
Crear un diagrama de subconjunto: Esto hace más fácil de leer el diagrama.
Esmerado y Pulcro: Hay que dibujar el menor número de líneas cruzadas
posibles y que se debe usar un ángulo entre 13° y 60° grados, hay que tratar
de evitar muchas líneas paralelas juntas muy cerca para evitar congestión.
Etiquetado: Hay que añadir un título y una fecha e identificar el autor (autores)
de cada diagrama.
Reconocimiento de patrones: Cada diagrama tiene que tener una forma
diferente pues se hace más fácil para los usuarios recordar.
Grado de relación: Hay que situar la relación (terminación) de mucha
relaciones a la izquierda o a la parte superior de la línea de relación.
Calidad: Es muy útil utilizar estas normas de diseño pues a veces ayuda a
minimizar entidades y mejora las relaciones.
REGLA DE 1 A 1
Una tupla de A solo se puede relacionar con una tupla de B.
A1
A2
A3
B1
B2
B3
ENTIDAD-RELACION FUERTE
Es aquella que puede ser identificada unívocamente (Hay la presencia de una
llave primaria).
ENTIDAD-RELACION DEBIL
No puede existir sin participar en la relación, aquella que no puede ser
unívocamente identificada solamente por sus atributos.
DIAGRAMAS ENTIDAD-RELACION
Libro (ISBN, titulo, clasificación, año, número de página)
Autor (Curp, nombre, fecha de nacimiento, nacionalidad, perfil)
Editorial (Id, nombre de la editorial, dirección, país)
Usuario (Id, Curp, nombre, dirección, teléfono)
Libro-Autor (N:N)
Autor-Editorial (N:1)
Usuario-Libro (N:N)
Libro R1 Autor
R2
Usuario
R3
Editorial
TEXTO ENVIADO POR LA EMPRESA BETA
Venta de equipo de cómputo, con una matriz de Guanajuato que abarca los
estados de la república, negocio veta genera ventas por clientes, venta por correo,
teléfono, personal, a través de clientes Orden HRL y fecha, articulo o refacción
puede ser consumible, no consumible, atendido por el vendedor y proveedor.
ESTADO REFACCION
PROVEEDOR ARTICULO
TIPO DE REFACCION
VENDEDOR
1:
N
N:N
1:1
N:N
N:N
CLIENTE R5 R4
R6
R3
R2
R1
Id Estado,
población Id cliente,
nombre
Id Refacción
Consumible, no
consumible
Id Proveedor,
nombre,
dirección
Id artículo,
nombre
articulo,
precio
Id vendedor,
nombre,
dirección, email
Regresar
QUERYS
ENUNCIADO DE LOS PROBLEMAS Y TABLAS
1.- Obtener los estados de los clientes.
SELECT NomCliente, Estado
FROM cliente, estado
WHERE cliente.IdEdo=Estado.IdEdo
2.- Buscas nombre de cliente y cuales
son de Sinaloa.
SELECT NomCliente, Estado
FROM cliente, estado
WHERE cliente.IdEdo=Estado.IdEdo and Estado="Sinaloa"
3.- Obtener los nombres de los clientes y su id
de estado.
SELECT NomCliente, IdEdo
FROM cliente
4.-Obtener el id de articulo y la cantidad.
SELECT IdArt, Cant
From orden
6.- Enunciado Obtener los nombres de los clientes que son del estado de
Morelia.
SELECT NomCliente, Estado
From cliente, estado
Where cliente.IdEdo=Estado.IdEdo and Estado="Morelia"
7.- Obtener los id cliente que son de
Querétaro.
SELECT IdClie, Estado
From cliente, estado
Where cliente.IdEdo=Estado.IdEdo and Estado="Querétaro"
8.- Enunciado Obtener los id de artículos y de
id de clientes que ordenaron cantidades
mayores a cuatro.
SELECT IdArt, IdClie
From orden
Where Cant<"4"
9.- Obtener los nombre de los artículos que fueron ordenado por cuenca
bravo.
SELECT NomArt, NomClie
From articulo,orden,cliente
WHERE articulo.IdArt= orden. IdArt
And orden.IdClie=cliente.IdClie
AND NomClie='Cuenca Bravo José'
10.- Obtener los nombres de los artículos que fueron
ordenados en Veracruz.
SELECT NomArt
FROM orden, cliente,estado,articulo
WHERE orden. IdArt=articulo.IdArt and
orden.IdClie=cliente.IdClie AND estado='Veracruz'
11.- Obtener los datos de la taba cliente.
SELECT *
FROM cliente
12.- Obtener los nombres de los clientes que empiezan
con v.
SELECT NomClie
FROM cliente
WHERE NomClie LIKE'V%'
13.-Obtener los nombres de los productos que fueron
ordenados entre cantidades de 8 a 13.
SELECT NomArt
FROM orden, articulo
WHERE articulo.IdArt=orden. IdArt and Cant>=8 and Cant<=13
14.- Obtener la cantidad máxima del producto ordenado.
SELECT MAX (Cant)
FROM orden
15.- Obtener las cantidades de los productos ordenadas de
mayor a menor.
SELECT Cant
FROM orden
ORDER BY Cant DESC
16.- Obtener los nombres de los clientes, la refacción y el precio de los que
el precio de la refacción que compro sea mayor de 500.
SELECT NomCliente, NomRef,Precio
FROM cliente, refaccion, orden
WHERE orden.IdClie=cliente.IdClie AND orden.IdRef=refaccion.IdRef AND
Precio>"500"
17.- Me muestre el nombre del cliente, el nombre del vendedor, el nombre del
artículo y la cantidad.
SELECT NomCliente, NomVen, NomArt, Cant
FROM orden, articulo, cliente, vendedor
WHERE cliente.IdClie=orden.IdClie AND vendedor.IdVend=orden.IdVend AND
18.- Obtener el nombre del cliente, el nombre del articulo la cantidad
ordenados de menor a mayor.
SELECT NomCliente, NomArt,Cant
FROM cliente, orden, articulo
WHERE cliente.IdClie=orden.IdClie AND articulo.IdArt=orden. IdArt
ORDER BY Cant ASC
19.- Obtener el nombre del cliente el nombre del vendedor el nombre del
artículo el precio y su cantidad.
SELECT NomCliente, NomVen, NomArt,Precio,Cant
FROM cliente, articulo, orden,vendedor
WHERE orden.IdClie=cliente.IdClie AND orden.IdVend=vendedor.IdVend AND
orden. IdArt=articulo.IdArt
ORDER BY Cant DESC
20.- Obtener el nombre del vendedor que empiecen con la letra r, el nombre
del cliente que empiece con v , el nombre del artículo que empiece con la
letra c la cantidad ordenandos de menor a mayor.
SELECT NomVen, NomCliente, NomArt, Cant
FROM vendedor, cliente, orden, articulo
WHERE NomVen LIKE'R%' AND orden. IdArt=articulo.IdArt AND NomCliente LIKE
"v%" AND NomArt LIKE"c%"
ORDER BY Cant ASC
21.-Obtener los nombres y la cantidad de
refacciones que estén entre las cantidades de
compras del 1 al 7.
SELECT CantRef, NomRef
FROM orden,refaccion
WHERE refaccion.IdRef=orden.IdRef AND CantRef
BETWEEN 1 AND 7
22.- Obtener la suma de la cantidad de refacciones que
fueron ordenados.
SELECT SUM (CantRef)
FROM orden
23.-Obtener los números telefónicos de los clientes que
su lada sea 411.
SELECT DISTINCT Tel
FROM cliente
WHERE cliente.Tel REGEXP BINARY 411
24.-Obtener el precio máximo de artículos.
SELECT MAX (Precio)
FROM articulo
25.-Obtener la cantidad de artículos y su nombre
que estén entre 6 y 9 y ordenar la cantidad de
artículos ascendente mente.
SELECT Cant, NomArt
FROM orden, articulo
WHERE articulo.IdArt=orden. IdArt AND Cant BETWEEN 6 AND 9
ORDER BY Cant ASC;
26.- Obtener los nombres de los estados donde hay
clientes.
SELECT DISTINCT Estado
FROM estado, cliente
WHERE cliente.IdEdo=Estado.IdEdo
27.- Obtener los nombres de los productos
que fueron ordenados en el estado de
Morelia.
SELECT NomArt, NomRef
FROM orden, articulo, estado, cliente, refaccion
WHERE orden. IdArt=articulo.IdArt AND orden.IdRef=refaccion.IdRef AND
orden.IdClie=cliente.IdClie AND cliente.IdEdo=Estado.IdEdo AND
estado="Morelia"
.
Regresar
FUENTES DE CONSULTA
Fundamentos de Bases de Datos [2002]- Abraham Silberschatz, et al.
Bases de Datos [2005] - Rafael Camps Paré, et al.
Sistemas de Bases de Datos [1994] – Ramez Elmasri, Shamkant B.
Navathe.
International Organization for Standardization (ISO) - "Database Language SQL", Document ISO/IEC 9075:1992
American National Standards Institute - "Database Language Embedded SQL", Document ANSI X3.168-1989.
R. Elmasri and S.B. Navathe - "Fundamentals of Database Systems", Second Edition, The Benjamin/Cummings publishing company, 1994.
F.D. Rolland - "The essence of databases", Prentice Hall, 1998.
E.F. Codd - "A Relational Model of Data for Large Shared Data Banks", Communications of the ACM 13, No. 6, June 1970.
C.J. Date with Hugh Darwen - "A Guide To The SQL Standard", Fourth Edition, Addison-Wesley, 1997.
Jan L. Harrington - "SQL Clearly Explained", AP Professional, 1998 Helmut Kopka and Patrick W. Daly - "A Guide to LaTeX 2e", Second Edition, Addison-Wesley, 1995.
Jason Hunter with William Crawford - "Java Servlet Programming", O'Reilly, 1998.
Regresar
INTRODUCCION ITESO
La finalidad de este proyecto es lograr obtener mucho más conocimientos de
los que ya habíamos adquirido antes, no solo aprender algo mas es un
propósito sino también reforzar todos los conocimientos adquiridos.
Un ejemplo seria como aprender a importar información que ya habíamos
introducido a Excel e importarlos a Navicat, esta manera nos sirve de mucho ya
que nos ahorra largo tiempo de elaboración, nos evita la molestia de crear las
tablas deseadas de nueva manera. En este proyecto se presentaran trabajos
como el enunciado de Iteso, con base en este enunciado se realizara un
diagrama Entidad-Relación con toda la información solicitada, además contiene
las tablas con toda la información necesaria acerca de Iteso, con esta
información proporcionada se realizaran Querys, en estas se solicitaran algunos
datos que quisiéramos obtener de dichas tablas solicitadas. Con la elaboración
de estas consultas también aprendimos nuevos comandos como pueden ser
Order by, Distinct, Having, Into, Values entre otras más. Otra finalidad más de
este proyecto es ayudar a todos aquellos que todavía se les dificulta un poco
realizar este tipo de ejercicios ya sean las consultas, el uso adecuado de los
comandos, clausulas y parámetros en cada problema solicitado, además de la
realización de consultas con los datos que uno quisiera saber pero talvez
todavía nos perdemos un poco al momento de ingresar los comandos
adecuados, el propósito es poder ayudar un poco a resolver algunas dudas
sobre Diseño y administración de Base de Datos avanzadas.
Regresar
DIAGRAMA-ENTIDAD RELACION
ENUNCIADO ITESO
En la web hay un dominio con el nombre de ITESO el cual ofrece a los usuarios
cursos en línea el cual se encuentra localizado en el catalogo de ofertas como
son diplomados, cursos, especialidades y posgrados. Los usuarios se les
asignan fechas programadas para los cursos así como los horarios, los
asesores y el aula habitual y el nombre del curso. Cada curso tiene un límite de
usuarios el periodo de realización y el número total de horas. Los usuarios para
hacer los pagos, lo pueden hacer de dos formas con tarjeta de crédito, con
cargo a 6 meses sin intereses y la opción 2 pago en efectivo en la cuenta de
banco para cada curso, los asesores registraran productos o evidencias al
termino de cada modulo, el número total de módulos para cada curso es de 4.
La planeación total de cursos depende del número de horas y los contenidos
temáticos para la extensión de la constancia final deberá de aprobar con una
calificación igual o mayor a 8 con solo 2 oportunidades de reprobar por cada
curso. Se sabe que cada participante solo puede tomar como máximo 3 cursos,
al usuario frecuente se le otorga una beca del 3% a partir del 4 curso tomado.
DIAGRAMA ENTIDAD-RELACION
Alumno
Boleta
Materia
Docente
Especialidad R1 R2
R5 R4
1:N
N:1 N:1
Nombre
Especialidad
RFC
Cve
Materia Matricula
Regresar
QUERYS
TABLAS ITESO
TABLA ALUMNO
TABLA BOLETA
TABLA DOCENTE
TABLA ESPECIALIDAD
TABLA MATERIA
ENUNCIADO DE LOS PROBLEMAS Y TABLAS
Insertar en la tabla Materia “Lectura exprecion oral y escrita”
INSERT INTO Materia
VALUES ('LEOYE I','Lectura exprecion oral y escrita');
Insertar en la tabla Materia “GYT, Geometria y Trigonometría”
INSERT INTO Materia
VALUES ('GYT','Geometria y Trigonometría');
Insertar en la tabla Materia “TICS, Tec. de la Inform. y comunicación”
INSERT INTO Materia
VALUES ('TICS','Tec.de la Inform. y comunicación');
Insertar en la tabla Materia “ING III, Ingles III”
INSERT INTO Materia
VALUES ('ING III','Ingles III');
Insertar en la tabla Especialidad “B4, Biomedicas”
INSERT INTO Especialidad
VALUES ('B4','Biomédicas');
Insertar en la tabla Especialidad “E6 Economía”
INSERT INTO Especialidad
VALUES ('E6','Economìa');
Insertar en la tabla Especialidad “'ADMEMP, Administración de Empresas”
INSERT INTO Especialidad
VALUES ('ADMEMP','Administración de Empresas');
Insertar en la tabla alumno “'200114033, Hernández Cienega Carlos,
03/19/1997, C14, D, 6”
INSERT INTO alumno
VALUES ('200114033','Hernadez Cienega Carlos','03/19/1997','C14','D','6');
Insertar en la tabla alumno “200114034, Contreras Rivera Jorge, 04/26/1997,
C14, D, 6”
INSERT INTO alumno
VALUES ('200114034','Contreras Rivera Jorge','04/26/1997','C14','D','6');
Insertar en la tabla alumno “200114035, Padilla Salazar Jessica, 05/06/1997,
C14, D, 6”
INSERT INTO alumno
VALUES ('200114035','Padilla Salazar Jessica ','05/06/1997','C14','D','6');
Actualizar el alumno del grupo C con el número de control “200114033”
UPDATE alumno SET Grupo = 'C'
WHERE NoControl = '200114033';
Actualizar el alumno del grupo C con el número de control “200114034'”
UPDATE alumno SET Grupo = 'C'
WHERE NoControl = '200114034';
Actualizar el alumno del grupo C con el número de control “200114035”
UPDATE alumno SET Grupo = 'C'
WHERE NoControl = '200114035';
Eliminar de la tabla alumno, el alumno con el número de control “200114033”
DELETE FROM Alumno
WHERE NoControl = '200114033';
Eliminar de la tabla alumno, el alumno con el número de control “200114034”
DELETE FROM Alumno
WHERE NoControl = '200114034';
Eliminar de la tabla alumno, el alumno con el número de control “200114035”
DELETE FROM Alumno
WHERE NoControl = '200114035';
Eliminar de la tabla materia, la materia con la clave “GTY”
DELETE FROM Materia
WHERE CveMat = 'GYT';
Seleccionar de la tabla materia, la materia “Seminario de sistemas”
SELECT NomMat
FROM Materia
WHERE NomMat = 'Seminario de sistemas';
Seleccionar de la tabla materia, los nombres de todas las materias.
SELECT NomMat
FROM Materia
Seleccionar de la tabla Especialidad, la Especialidad “Administracion de
empresas”
SELECT NomEsp
FROM Especialidad
WHERE NomEsp = 'Administracion de Empresas';
Seleccionar de la tabla Especialidad, la especialidad “Electricidad”
SELECT NomEsp
FROM Especialidad
WHERE NomEsp = 'Electricidad';
Seleccionar de la tabla Docente, el nombre del docente “'Pescador Espitia
Esperanza”
SELECT RFC, CARRERA, NIVEL
FROM Docente
WHERE NOMDOC = 'Pescador Espitia Esperanza';
Regresar