MySQL 5.0. Sistemas informáticos II

Tamaño: px
Comenzar la demostración a partir de la página:

Download "MySQL 5.0. Sistemas informáticos II"

Transcripción

1 MySQL 5.0 Sistemas informáticos II Dra. Marta E. Zorrilla Departamento de Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria Curso 2005/06

2 Tabla de contenidos Introducción a MySQL Crear BDs.. Bases de datos del sistema Usuarios y privilegios Tipos de datos Lenguaje de definición Lenguaje de manipulación Marta Zorrilla 2

3 Introducción MySQL es un gestor de BDs relacionales Es Open Source como PostgreSQL,, pero este último es un gestor relacional de objetos. Ambos utilizan el lenguaje estándar SQL Ambos son portables (Windows, Mac, Unix, Linux) MySQL dispone también de licencia comercial Marta Zorrilla 3

4 PostgreSQL vs MySQL PostgreSQL es un sistema de BD de mayor nivel, cercano a Oracle, Sybase o Interbase Consume bastantes recursos y carga más el sistema Soporta transacciones y desde la v.7.0 integridad referencial Soporta un subconjunto de SQL92 mayor que MySQL Su principal objetivo de diseño fue la velocidad Consume pocos recursos tanto de cpu como de memoria No considera integridad referencial, la debe gestionar el programador (InnoDB( InnoDB) Soporta desencadenadores y procedimientos/funciones almacenados y vistas a partir v. 5.0 Soporta UNION y subqueries a partir de v. 4.1 Marta Zorrilla 4

5 Primeros pasos en MySQL Dispone de varias utilidades para su administración, una de ellas es el monitor, mysql.exe que se ejecuta desde DOS. mysql> mysql> create database guestbook; mysql> > use guestbook; mysql> create table guestbook (name varchar(40) null, location varchar(40) null); Marta Zorrilla 5

6 Conexión a MySQL El usuario administrador es root Inicialmente, al instalarse MySQL el root no tiene password.. Para asignársele: #./mysqladmin u u root password new_passwd Comprobar que la clave se ha asignado correctamente # mysql u u root p Enter password: : **** show databases; Marta Zorrilla 6

7 Crear y borrar bases de datos Conexión al gestor mysql u u username p p passwd Creación de la base de datos mysql> create database nombrebd; Borrado de la base de datos mysql> drop database nombrebd; Detrás de cada instrucción poner ; Marta Zorrilla 7

8 Base de datos del sistema Mysql (para MyISAM): user: contiene información sobre los usuarios, desde que máquinas pueden acceder al servidor MySQL, su clave y sus diferentes permisos host: informa sobre que máquinas pueden acceder al sistema, así como a las bases de datos que tienen acesso y sus diferentes permisos db, tables_priv priv,, columns_priv priv: proveen el control individual de las bases de datos, tablas y columnas. func: funciones externas en lenguajes soportardos, como C (extensiones del sistema) Mysql Marta Zorrilla 8

9 Usuarios y privilegios Se recomienda no utilizar el usuario root para trabajar con la base de datos. Es mejor crear un usuario, al menos, por aplicación Web con los privilegios mínimos necesarios. Los niveles de privilegios son: global, base de datos, tabla y columna Se establecen con GRANT y se quitan con REVOKE También se utilizan para crear y eliminar usuarios GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON compras.* TO marta@localhost IDENTIFIED BY marta"; Si no existe el usuario lo crea, lo mismo sucede cuando a un usuario le quitan todos los privilegios, que se borra. Marta Zorrilla 9

10 Usuarios y privilegios (II) GRANT priv_type [(column column_list)] [, priv_type [(column column_list)]...] ON {tbl{ tbl_name * *.* db_name name.*} TO user_name [IDENTIFIED BY "password" password"] [, user_name [IDENTIFIED BY "password" password"]...] [WITH GRANT OPTION] REVOKE priv_type [(column column_list)] [, priv_type [(column column_list)]...] ON {tbl{ tbl_name * *.* db_name name.*} FROM user_name [, user_name...] priv_type type: : tipo de privilegios que se le concede tbl_name name, db_name name.*: nombre tabla, todas las tablas de la bd db_name *.* indica todas las bases de datos user_name name: : usuario de la forma usuario@host With grant option: : indica que el usuario puede ceder sus privilegios Marta Zorrilla 10

11 Usuarios y privilegios (III). Privilegios para usuarios Marta Zorrilla 11

12 Usuarios y privilegios (IV). Marta Zorrilla 12

13 Tipos de dato enteros Tipo Rango Bytes Descripción TINYINT BIT BOOL SMALLINT MEDIUMINT INT o INTEGER BIGINT o ó o bit Entero 0 ó 1 Entero grande Marta Zorrilla Enteros muy pequeños Enteros pequeños Entero Entero habitual

14 Tipos de dato reales Tipo Rango Bytes Descripción FLOAT (m) ± E+38.. ± E Coma flotante precisión única DOUBLE(m,d) ± E ± E Coma flotante precisión única DOUBLE PRECISION (m,d) ± E ± E Sinónimo de DOUBLE REAL (m,d) ± E ± E Sinónimo de DOUBLE DECIMAL (m,d) o NUMERIC (m,d) Por defecto (10,0) m+2 Flotante almacenado como char Marta Zorrilla 14

15 Tipos de dato cadenas Tipo CHAR (m) VARCHAR(m) TINYBLOB TINYTEXT BLOB TEXT MEDIUMBLOB MEDIUMTEXT Rango 1 a a Hasta Descripción Cadena de caracteres Char variable Binario/text pequeño Campo BLOB / TEXT normal Campo Binario/ TEXT medio LONGBLOB LONGTEXT Hasta Campo Binario/ TEXT grande Marta Zorrilla 15

16 Tipos de dato fecha Tipo DATE TIME DATETIME Rango A :59:59 A 838:59: :00:00 A :59:59 Descripción FECHA YYYY-MM MM-DD HORA EN HH:MM:SS YYYY-MM MM-DD HH:MM:SS TIMESTAMP [(m)] YEAR [(2 4)] :00: Útil para reportar transacciones Año con 2 ó 4 dígitos Marta Zorrilla 16

17 Tipos de dato enum y set Tipo ENUM SET Máximo valores en lista Descripción Las columnas sólo pueden tomar un valor de la lista respuesta enum ( si, no ) default no Las columnas pueden tomar un conjunto de valores especificados. Atenta contra 1FN Marta Zorrilla 17

18 Instrucciones de definición Las IDD comprenden todas las operaciones necesarias para implantar y mantener un esquema relacional. Con ellas, se describen los datos y su agrupamiento formando tablas, así como las restricciones que deben cumplir. Las IDD permiten crear, modificar y eliminar tablas, así como todos los componentes que las definen: campos, índices, claves, etc. y las restricciones que sean precisas. Principales instrucciones: CREATE ALTER DROP DATABASE CREATE ALTER DROP TABLE CREATE DROP INDEX Marta Zorrilla 18

19 Tipos de tabla en MySQL Tablas no transaccionales MyISAM.. Por defecto. Rápida y estable. Manejador de tablas binario portable que sustituye a ISAM Heap.. Tablas hash residentes en memoria. Uso como tablas temporales. MRG_MyISAM MyISAM. Colección de tablas MyISAM gestionadas como si fuera una (todas con la misma estructura). Tablas transaccionales Berkeley_db. Bloqueos por páginas InnoDB. Bloqueos por filas (ACID compliant) y soporte de FK (desde MySQL version ) Marta Zorrilla 19

20 Crear una tabla en MySQL CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] table_options] [select_statement] create_definition: col_name type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition] or PRIMARY KEY (index_col col_name,...) or KEY [index_name] (index_col col_name,...) or INDEX [index_name] (index_col col_name,...) or UNIQUE [INDEX] [index_name] (index_col col_name,...) or FULLTEXT [INDEX] [index_name] (index_col col_name,...) or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col col_name,...) [reference_definition] or CHECK (expr( expr) Marta Zorrilla 20

21 Crear una tabla en MySQL (II) index_col col_name: col_name [(length)] reference_definition: REFERENCES tbl_name [(index_col col_name,...)] [MATCH FULL MATCH PARTIAL] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT CASCADE SET NULL NO ACTION SET DEFAULT table_options: ENGINE = {BDB HEAP ISAM InnoDB MERGE MYISAM } Marta Zorrilla 21

22 Índices en MySQL CREATE [UNIQUE FULLTEXT] INDEX index_name ON tbl_name (col( col_name [(length)],... ) FULLTEXT pueden indexar columnas VARCHAR y TEXT Length: : indica los caracteres que se indexan de la columna Marta Zorrilla 22

23 Modificación de tablas ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec...] alter_spec: ADD [COLUMN] create_definition [FIRST AFTER column_name ] or ADD [COLUMN] (create_definition, create_definition,...) or ADD INDEX [index_name] (index_name,...) or ADD PRIMARY KEY (index_col_name,...) or ADD UNIQUE [index_name] (index_col_name,...) or ADD FULLTEXT [index_name] (index_col_name,...) or ADD [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,...) [reference_definition] or ALTER [COLUMN] col_name {SET DEFAULT literal DROP DEFAULT} or CHANGE [COLUMN] old_col_name create_definition or MODIFY [COLUMN] create_definition or DROP [COLUMN] col_name or DROP PRIMARY KEY or DROP INDEX index_name or RENAME [TO] new_tbl_name or ORDER BY col or table_options Marta Zorrilla 23

24 Borrar db/tablas/índices DROP [DATABASE TABLE INDEX] name Marta Zorrilla 24

25 CREATE IDD CREATE TABLE III : CREATE TABLE Lineas TABLE Lineas (( Escribir las instrucciones SQL necesarias para construir Ejemplos numped numpedinteger UNSIGNED UNSIGNED NOT la NOT NULL, base NULL, de datos cuyo esquema de relaciones es: numlin numlinsmallint UNSIGNED UNSIGNED NOT NOT NULL, NULL, codigart codigartchar(6) NOT NOT NULL, NULL, unilin CREATE unilinfloat CREATE TABLE NOT TABLE Pedidos NOT NULL, NULL, Pedidos (( preunilin numped preunilinreal numpedinteger NOT UNSIGNED NOT NULL, NULL, CREATE UNSIGNED NOT NOT NULL, CREATE TABLE TABLE Proveedores Proveedores (( NULL, desculin codigpro desculinfloat codigprochar(4) NOT NOT NOT NULL, NOT NULL, NULL, codigprochar(4) NOT NOT NULL, NULL, NULL, PRIMARY fechaped PRIMARY KEY fechapeddate KEY (numped, NOT (numped, numlin), NOT NULL, numlin), cifpro cifprochar(12) NOT NULL, NOT NULL, NULL, INDEX ivaped INDEXLineas_FKIndex1(numped), ivapedfloat nombrpro NOT NOT NULL, nombrprochar(30) NULL, NOT NOT NULL, NULL, INDEX fentrped INDEXLineas_FKIndex2(codigart), fentrpeddate direcpro NOT NOT NULL, direcprochar(30) NULL, NOT NOT NULL, NULL, FOREIGN PRIMARY FOREIGN KEY PRIMARY cpostpro KEY KEY (numped) KEY (numped), (numped) cpostprochar(5) (numped), NOT NOT NULL, NULL, REFERENCES INDEXREFERENCES CREATE faxpro Pedidos_FKIndex1(codigpro), CREATE Pedidos TABLE TABLE Articulos (numped) Articulos (numped) (( faxpro CHAR(15) CHAR(15) NULL, NULL, ON FOREIGN ON DELETE codigart FOREIGN pro KEY DELETE codigart NO CHAR(6) KEY (codigpro) NO CHAR(6) ACTION ACTIONNOT NOT NULL, NULL, prochar(25) (codigpro) NULL, NULL, ON descrart REFERENCES ON UPDATE UPDATE descrart NO CHAR(40) REFERENCES procepro Proveedores NO CHAR(40) ACTION, ACTION, NOT Proveedores (codigpro) NOT NULL, NULL, proceproenum ( No ( No UE, UE, (codigpro) UE ) UE ) DEFAULT DEFAULT UE, UE, FOREIGN preunart ON FOREIGN ON PRIMARY DELETE preunart KEY KEY (codigart) REAL DELETE NO NO ACTION (codigart) REAL NOT NOT NULL, NULL, PRIMARY KEY(codigpro), KEY(codigpro), ACTION REFERENCES stockart ON REFERENCES ON UNIQUE UPDATE stockart Articulos FLOAT UPDATE NO NO ACTION Articulos FLOAT NOT (codigart) NOT (codigart) NULL, NULL, UNIQUE INDEX INDEX ACTION Proveedores_cif Proveedores_cif (cifpro) (cifpro) ON PRIMARY )) ENGINE=InnoDB; ON DELETE DELETE PRIMARY NO NO ACTION KEY ACTION KEY (codigart) (codigart) )) ENGINE=InnoDB; ENGINE=InnoDB; ON ON UPDATE UPDATE )) ENGINE=InnoDB; ENGINE=InnoDB; NO NO ACTION ACTION ) Marta Zorrilla 25 ) ENGINE=InnoDB; ENGINE=InnoDB;

26 Comandos en MySQL mysql> > show tables; lista tablas de BD mysql> > show columns; Ξ show fields mysql> > show databases; mysql> > describe tbl_name name; describe tabla mysql> source fichero.sql sql; - ejecuta instrucciones Marta Zorrilla 26

27 Instrucciones de manipulación Las IMD permiten actuar sobre los propios datos. Las operaciones básicas de manipulación de datos son: insertar, modificar, borrar y consultar. Las tres primeras permiten alterar el contenido de la base de datos. La última consiste en localizar datos para su observación. Principales instrucciones: INSERT UPDATE DELETE SELECT Marta Zorrilla 27

28 IMD I : INSERT Permite añadir una o más filas en una tabla. La sintaxis para insertar una sola fila es: INSERT INTO INTO destino destino [(campo1[, campo2[,...]])]...]])] VALUES (valor1[, valor2[, valor2[,...]])...]]) La sintaxis para insertar varias filas es: INSERT INTO INTO destino destino [(campo1[, campo2[,...]])]...]])] Instrucción_SELECT destino: es el nombre de la tabla o consulta (de selección) donde se van a añadir filas. campo1, campo2: son los nombres de los campos donde se van a añadir los datos. valor1, valor2: son los valores que tomarán los campos en la nueva fila que se van a insertar. Cada valor se asigna al campo que corresponde a la posición del valor en la lista, así, valor1 se asigna al campo1, valor2 al campo2, y así sucesivamente. Por su frecuencia, cabe mencionar que los valores que se asignen a campos de texto deben escribirse entre comillas simples ("texto"). Instrucción_SELECT: es la instrucción SELECT cuya ejecución proporcionará las filas a insertar. Marta Zorrilla 28

29 IMD II : UPDATE Permite modificar información existente en una o varias filas de una tabla. Su sintaxis es: UPDATE tabla tablaset campo1=nuevovalor1 [, [, campo2=nuevovalor2 [, [,...]] [WHERE condición] tabla: es el nombre de la tabla en la que se desea modificar datos. campo1, campo2: son los nombres de los campos que van a modificar su valor. nuevovalor1, nuevovalor2: son expresiones que determinan los valores que van a tomar los campos de las filas que se van a actualizar. condición: es una expresión lógica que determina qué filas se actualizarán. Sólo se actualizarán las filas que satisfagan la expresión. Si no se incluye cláusula WHERE (no hay condición) se modificarán todas las filas de la tabla. Marta Zorrilla 29

30 IMD III : DELETE Permite eliminar una o varias filas de una tabla. Su sintaxis es: DELETE FROM FROM tabla tabla [WHERE condición] tabla: es el nombre de la tabla cuyas filas se van a eliminar. condición: es una expresión lógica que determina qué filas se borrarán. Sólo se borrarán las filas que satisfagan la expresión. Si no se incluye cláusula WHERE (no hay condición) se borrarán todas las filas de la tabla. Marta Zorrilla 30

31 IMD IV : INSERT, UPDATE, DELETE Ejemplos Insertar una nueva fila en la tabla Proveedores. INSERT INSERT INTO INTO Proveedores Proveedores (codigpro, (codigpro, cifpro, cifpro, nombrpro, nombrpro, direcpro, direcpro, cpostpro, cpostpro, localpro, localpro, telefpro, telefpro, faxpro, faxpro, procepro) procepro) VALUES VALUES ("P005", ("P005", "A ", "A ", "Angulo "Angulo Lastra, Lastra, Antonio", Antonio", "Hernán "Hernán Cortés,18", Cortés,18", "39002", "39002", "Santander", "Santander", (34) (34) ", 022", (34) (34) ", 022", "UE") "UE") Incorporar el del proveedor Luis Gil Laso, con valor mailto:gil@unican.es. UPDATE UPDATE Proveedores Proveedores SET SET pro="mailto:gil@unican.es" pro="mailto:gil@unican.es" WHERE WHERE codigpro= P004 codigpro= P004 Borrar todos los proveedores de Santander. DELETE DELETE FROM FROM Proveedores Proveedores WHERE WHERE localpro="santander" localpro="santander" Marta Zorrilla 31

32 IMD V : SELECT Está dedicada a obtener información de la base de datos. El resultado de su ejecución, si existe, siempre tiene estructura de una tabla y los campos de sus filas responden a la lista de selección. Tiene enormes posibilidades, lo que hace que su sintaxis presente muchas variantes. SELECT SELECT [[ predicado predicado ]] Lista_de_selección Lista_de_selección [INTO [INTOOUTFILE OUTFILE 'nombre_fichero' 'nombre_fichero' opciones_exportacion INTO INTO DUMPFILE DUMPFILE nombre_fichero ]] nombre_fichero ]] FROM FROM [nombre_bd].lista_de_tablas [WHERE [WHEREcondición ]] [GROUP [GROUP BY BYlista_campos_group_by] [HAVING [HAVINGcondición_group_by] [ORDER [ORDER BY BYcolum1 {{[ASC] [ASC] DESC DESC }}[,[, colum2 colum2 {{[ASC] [ASC] DESC DESC }, },......] ]] [LIMIT [LIMIT[offset,] [offset,] nro_filas] nro_filas] Marta Zorrilla 32

33 IMD VI : SELECT predicado: puede tomar uno de los siguientes valores: ALL, DISTINCT o DISTINCTROW. Si no especifica ninguno, el valor predeterminado es ALL. Lista_de_selección: es el conjunto de los elementos que serán aportados como respuesta. Éstos, pueden ser expresiones y funciones separados por comas, aunque generalmente responden a una de las siguientes alternativas: { * tabla.* [tabla.]campo1 [AS alias1] [, [tabla.]campo2 [AS alias2],...] } o * especifica que se seleccionan todos los campos de la tabla o tablas a las que se accede. o tabla: es el nombre de la tabla que contiene los campos de la que se van a seleccionar los registros. o campo1, campo2: son los nombres de los campos que contienen los datos que desea recuperar. o alias1, alias2: Los nombres que se van a utilizar como encabezados de columnas en vez de los nombres de columnas originales en tabla. nombre_fichero: es el nombre del fichero que se creará en el servidor y donde se escribirán las filas de datos. lista_de_tablas: representa el nombre de la tabla o las tablas que contienen los datos a los que se desea acceder. base_datos_externa: es la ruta de acceso a la base de datos que contiene las tablas de la lista_de_tablas que no están en la base de datos activa. condición: es una expresión lógica con los criterios de selección de registros. lista_campos_group_by: son los nombres de los campos que se van a utilizar para agrupar los registros. condición_group_by: son las condiciones que se imponen sobre el criterio de agrupamiento. colum1, colum2: son nombres de elementos de la lista de selección o la posición que ocupan en ella. ASC quiere decir ordenación ascendente (es la opción por defecto) y DESC significa ordenación descendente. Limit permite especificar el número de filas a devolver comenzando en offset y hasta el nro_filas. Marta Zorrilla 33

34 IMD VII : SELECT Búsquedas Sencillas Búsquedas Cualificadas Condiciones de Comparación Condiciones de Combinación Condiciones de Subsentencia Con Operadores Con Pred.. BETWEEN... AND... Con Pred.. IN (lista_de_valores) Con Pred.. LIKE cadena_caracteres Con Pred.. NULL Simple Múltiple Autocombinación Combinación Externa De Comparación Con Predicado IN Con Predicado EXISTS Marta Zorrilla 34

35 IMD VIII : SELECT Funciones de Grupo Funciones de Fecha Agrupamiento de Datos Condición de Agrupamiento Ordenación del Resultado Guardar Resultado en fichero Unión de Sentencias Marta Zorrilla 35

36 IMD IX : SELECT Búsquedas Sencillas (Ejemplos) Obtener el contenido de la tabla Articulos. SELECT ** FROM FROMArticulos Listar el nombre y el teléfono de todos los Proveedores. SELECT nombrpro, telefpro FROM FROMProveedores Marta Zorrilla 36

37 IMD X : SELECT Búsquedas Cualificadas. Cond. de Comparación 1 (Ejemplos) Las condiciones de comparación son expresiones lógicas que permiten comparar una columna o expresión con otra columna, expresión o lista de columnas. Pueden adoptar una de las formas siguientes: exp expoperador_de_comparación exp exp exp exp [NOT] [NOT] BETWEEN exp expand exp exp exp exp [NOT] [NOT] IN IN (lista (lista de de valores) campo campo [NOT] [NOT] LIKE LIKE "cadena_de_caracteres" campo campo IS IS [NOT] [NOT] NULL NULL Encontrar los artículos cuyo precio unitario sea superior a 180 y su stock sea inferior o igual a 100. SELECT ** FROM FROMArticulos WHERE preunart > AND ANDstockart <= <= Marta Zorrilla 37

38 IMD XI: SELECT Búsquedas Cualificadas. Cond. de Comparación 2 (Ejemplos) Listar los artículos cuyo precio unitario esté comprendido entre 180 y 300. SELECT ** FROM FROMArticulos WHERE preunart BETWEEN AND AND300 Hallar todos los proveedores de las ciudades de Santander, Madrid y Barcelona. SELECT codigpro, nombrpro, direcpro, cpostpro, localpro FROM FROMProveedores WHERE localpro IN IN ("Santander", "Madrid", "Barcelona") Marta Zorrilla 38

39 IMD XII : SELECT Búsquedas Cualificadas. Cond. de Comparación 3 (Ejemplos) Encontrar todos los proveedores cuyo primer apellido comience por la letra A. SELECT codigpro, nombrpro, direcpro, cpostpro, localpro FROM FROMProveedores WHERE nombrpro LIKE LIKE A% A% Hallar todos los proveedores de los que no se tenga información sobre su correo electrónico. SELECT codigpro, nombrpro, direcpro, cpostpro, localpro, telefpro FROM FROMProveedores WHERE pro IS IS NULL NULL Marta Zorrilla 39

40 IMD XIII : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación Simple (Ejemplo) Las búsquedas cualificadas son las que afectan a datos de más de una tabla. Una Una Combinación Simple Simplees es aquella aquella en en la la que quela la condición de de la la cláusula FROM FROM (o (o WHERE) contiene una una comparación de de igualdad entre entre campos pertenecientes a dos dos tablas tablas distintas. Listar todos los proveedores a los que se ha efectuado algún pedido entre el 20/1/2002 y el 15/9/2002. SELECT DISTINCT Proveedores.codigpro, nombrpro, direcpro, localpro FROM FROM Proveedores INNER INNER JOIN JOINPedidos ON ONProveedores.codigpro = Pedidos.codigpro WHERE fechaped BETWEEN 2002/01/20" AND AND "2002/09/15" Marta Zorrilla 40

41 IMD XIV : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación Simple (Ejemplo. Continuación) SELECT DISTINCT Proveedores.codigpro, nombrpro, direcpro, localpro FROM FROM Proveedores INNER INNER JOIN JOIN Pedidos ON ONProveedores.codigpro = Pedidos.codigpro WHERE fechaped BETWEEN 20/01/2002 AND AND 15/09/2002 Información de proceso Proveedores Pedidos codigpro cifpro nombrpro... numped fechaped codigpro... P001 A Bau Pi, Pablo /05/2002 P P001 A Proveedores Bau Pi, Pablo /06/2002 Pedidos P P001 A Bau Pi, Pablo /10/2002 P codigpro P001 cifpro A Bau nombrpro Pi, Pablo..... numped 4 13/08/2002 fechaped codigpro P P002 A Proveedores Zar Luna, Ana /05/2002 Pedidos P P002 P001 A A Zar Bau Luna, Pi, Pablo Ana /05/ /06/2002 P001 P P002 P001 A A Zar Bau Luna, Pi, Pablo Ana /08/ /10/2002 P001 P codigpro P002 cifpro A Zar nombrpro Luna, Ana numped /06/2002 fechaped 13/08/2002 codigpro P002 P P003 P001 A B Bau Gras Pi, León, Pablo Luz /05/ /10/2002 P001 P P003 P001 B A Gras Bau Pi, León, Pablo Luz /08/ /06/2002 P001 P P003 P002 B A Gras Zar Luna, León, Ana Luz /06/ /10/2002 P002 P P003 B Gras León, Luz /08/2002 P P004 B Gil Laso, Luis /05/2002 P P004 B Gil Laso, Luis /06/2002 P P004 B Gil Laso, Luis /10/2002 P P004 B Gil Laso, Luis /08/2002 P Marta Zorrilla 41

42 IMD XV : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación Múltiple (Ejemplo) Una Una Combinación Múltiple es es aquella aquella combinación que que relaciona varios varios campos de de más más de de dos dos tablas. tablas. Encontrar todos los artículos que han sido pedidos entre el 15/5/2002 y el 30/5/2002. SELECT DISTINCT Articulos.codigart, descrart FROM FROMPedidos INNER INNER JOIN JOIN (Lineas (Lineas INNER INNER JOIN JOINArticulos ON ONLineas.codigart = Articulos.codigart) ON ONPedidos.numped = Lineas.numped WHERE fechaped BETWEEN 2002/05/15 AND AND 2002/05/30 Marta Zorrilla 42

43 IMD XVI : SELECT Búsquedas Cualificadas. Cond. de Combinación Autocombinación (Ejemplo) Una Una Autocombinación es es una una combinación de de una una tabla tabla con con ella ella misma. misma. Localizar todos los pedidos que tienen varias líneas del mismo artículo. SELECT x.numped, x.numlin, x.codigart FROM FROMLineas Lineasx, x, Lineas Lineasy WHERE x.numped = y.numped AND AND x.numlin <> <> y.numlin AND ANDx.codigart = y.codigart Marta Zorrilla 43

44 IMD XVI : SELECT Búsquedas Cualificadas. Cond. de Combinación Autocombinación (Ejemplo) Localizar todos los pedidos que tienen varias líneas del mismo artículo. SELECT x.numped, x.numlin, x.codigart FROM FROMLineas Lineasx, x, Lineas Lineasy WHERE x.numped = y.numped AND AND x.numlin <> <> y.numlin AND AND x.codigart = y.codigart Información de proceso Acceso X Acceso X Acceso X Acceso Y Acceso Y Acceso Y Marta Zorrilla 44

45 IMD XVII : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación Externa (Ejemplo) Una Una Combinación Externa es es aquella aquellaque da da preferencia a una una tabla tabla con con respecto a otra. otra. Así, Así, las las filas filas de de la la tabla tabla dominante serán serán seleccionadas aunque aunque la la condición de de enlace enlace no no se se haya haya verificado. Listar todos los proveedores indicando, en su caso, los que han recibido algún pedido. SELECT Proveedores.codigpro, nombrpro, Pedidos.numped Preferencia a la FROM FROMProveedores LEFT LEFT JOIN JOINPedidos tabla de la izquierda ON ON Proveedores.codigpro = Pedidos.codigpro SELECT Proveedores.codigpro, nombrpro, Pedidos.numped FROM FROMPedidos RIGHT RIGHT JOIN JOINProveedores ON ON Proveedores.codigpro = Pedidos.codigpro Preferencia a la tabla de la derecha Marta Zorrilla 45

46 IMD XVIII : SELECT Búsquedas Cualificadas. Cond. de Subsentencias (Ejemplo de comparación) La La instrucción instrucción SELECT SELECTpermite contrastar contrastar una una expresión expresión o un un campo campo con con el el resultado resultado de de otra otra instrucción instrucción (subsentencia) (subsentencia) SELECT. SELECT. A este este contraste contraste se se le le llama llama condición condición de de subsentencia subsentenciay y las las dos dos instrucciones instrucciones se se llaman llaman instrucciones instruccionesimbricadas. imbricadas. A su su vez, vez, la la subsentencia subsentenciapuede incluir incluir en en su su condición condición a otra otra subsentencia subsentenciay y así asísucesivamente. sucesivamente. Las Las condiciones condiciones de de subsentencia subsentenciapueden adoptar adoptar una una de de las las formas formas siguientes: siguientes: exp exp operador_de_comparación {ALL {ALL [ANY [ANY SOME] SOME] }} (instrucción SELECT) exp exp [NOT] [NOT] IN IN (instrucción SELECT) campo campo [NOT] [NOT] EXISTS (instrucción SELECT) Encontrar los artículos cuyo stock es mayor que toda cantidad pedida del mismo artículo. SELECT articulos.codigart, descrart, stockart FROM FROMArticulos WHERE stockart > ALL ALL (SELECT unilin unilin FROM FROMLineas WHERE Articulos.codigart = Lineas.codigart) Marta Zorrilla 46

47 IMD XIX : SELECT Búsquedas Cualificadas. Cond. de Subsentencias. (Ejemplos con predicados IN y EXIST) Listar los artículos que no han sido pedidos entre el 24 de Septiembre y el 21 de Noviembre de SELECT DISTINCT Articulos.codigart, descrart FROM FROM Articulos WHERE Articulos.codigart NOT NOT IN IN (SELECT Lineas.codigart FROM FROMLineas, Pedidos WHERE Pedidos.numped = Lineas.numped AND ANDPedidos.fechaped BETWEEN 24/09/2002 AND AND 21/11/02 ) Encontrar los proveedores de Madrid a los que se les ha realizado algún pedido entre el 24/09/2002 y el 21/11/2002. SELECT DISTINCT Proveedores.codigpro, nombrpro FROM FROM Proveedores WHERE EXISTS (( SELECT ** FROM FROMPedidos WHERE Proveedores.codigpro = Pedidos.codigpro AND fechaped BETWEEN 2002/09/24 AND AND 2002/11/21 ) AND ANDlocalpro = "Madrid Marta Zorrilla 47

48 IMD XX : SELECT Funciones de grupo (Ejemplo) Con Con las las filas filas de de la la información de de proceso correspondiente a una una instrucción SELECT se se pueden establecer grupos. En En cada cada uno uno de de estos estos grupos, mediante las las funciones de de grupo, grupo, se se pueden efectuar ciertos ciertos cálculos. Encontrar cuántos artículos hay registrados, el máximo y el mínimo precio unitario, el precio unitario medio y la valoración del almacén. COUNT(*) COUNT(*) Nº Nº de de filas filas que que componen componen el el grupo. grupo. COUNT(campo) COUNT(campo) Nº Nº de de filas filas con con valor valor asignado asignado al al campo campo (nulos (nulos no no cuentan). cuentan). SUM(exp) SUM(exp) Suma Suma de de valores valores obtenidos obtenidos con con la la expresión expresión en en cada cada fila. fila. AVG(exp) AVG(exp) Media. Media. MAX(exp) MAX(exp) Máximo. Máximo. MIN(exp) MIN(exp) Mínimo. Mínimo. STDEV(exp) STDEV(exp) Desviación Desviación típica. típica. VAR(exp) VAR(exp) Varianza. Varianza. SELECT COUNT(codigart) AS AS Cantidad, MAX(preunart) AS AS Max, Max, MIN(preunart) AS AS Min, Min, AVG(preunart) AS AS Precio_medio, SUM(preunart*stockart) AS AS Valoración FROM FROM Articulos Marta Zorrilla 48

49 IMD XXI : SELECT Funciones de fecha (Ejemplo) Los Los datos datos de de tipo tipo fecha fecha son son almacenados como como una una unidad unidad de de información. Cuando se se necesita trabajar con con componentes de de una una fecha, fecha, es es preciso preciso utilizar utilizar funciones de de fecha. fecha. DAYOFMONTH(fecha) Devuelve Devuelve el el día día de de mes mes de de fecha. fecha. MONTH MONTH (fecha) (fecha) Devuelve Devuelve el el mes mes de defecha. YEAR YEAR (fecha) (fecha) Devuelve Devuelve el el año año de de fecha. fecha. WEEKDAY(fecha) WEEKDAY(fecha) Devuelve Devuelve el el día día de de la la semana semana correspondiente correspondiente a fecha fecha (el (el 0 lunes, lunes, el el 1 martes, martes,...)....). Listar día, mes y año de cada pedido, así como el día de la semana al que corresponden sus fechas. SELECT numped, fechaped, DAYOFMOUNTH(fechaped) asdia_mes, MONTH(fechaped) as asmes, YEAR(fechaped) as asaño, año, WEEKDAY(fechaped) as asdia_sem FROM FROM Pedidos Marta Zorrilla 49

50 IMD XXII : SELECT Agrupamiento de datos (Ejemplo) La La cláusula GROUP permite formar formar grupos grupos con con las las filas filas de de datos datos que que tengan tengan valores valores iguales iguales para para determinados campos. La La respuesta tiene tiene tantas tantas filas filas como como grupos grupos haya haya establecido la la instrucción. Obtener el importe de cada pedido sin aplicar el IVA. SELECT numped, SUM((preunilin*unilin)*(1-desculin/100)) as asimporte FROM FROMLineas GROUP BY BYnumped Marta Zorrilla 50

51 IMD XXIII : SELECT Agrupamiento de Datos. Cond. de agrupamiento (Ejemplo) Listar el importe, sin aplicar el IVA, de los pedidos que tienen más de una línea. SELECT numped, SUM((preunilin*unilin)*(1-desculin/100)) as asimporte FROM FROMLineas GROUP BY BYnumped HAVING COUNT(*) > 1 Marta Zorrilla 51

52 IMD XXIV : SELECT Ordenación del Resultado (Ejemplo) [ORDER BY BYcolum1 {{[ASC] [ASC] DESC DESC }}[,[, colum2 colum2 {{[ASC] [ASC] DESC DESC }, },......]]] ] colum1, colum2,...:...: son sonnombres de de elementos (campos, expresiones o funciones) de de la la lista lista de de selección o la la posición que que ocupan ocupan en en ella. ella. ASC: ASC: quiere quiere decir decir ordenación ascendente (opción (opción por por defecto) y DESC DESC descendente. Listar los valores de los campos que componen el índice de unicidad de la tabla Lineas (numped, numlin), por orden decreciente de nº de pedido y de nº de línea. SELECT numped, numlin numlin FROM FROMLineas ORDER BY BY1 DESC, DESC, 2 DESC DESC Marta Zorrilla 52

53 IMD XXV : SELECT Guardar Resultado en un fichero (Ejemplo) INTO INTO OUTFILE fichero opciones Crea un fichero con nombre result.text con los datos del todos los proveedores. El Select no permite guardar su resultado en tabla temporal. SELECT ** INTO INTOOUTFILE c:/tmp/result.text' FIELDS TERMINATED BY BY ',' ',' OPTIONALLY ENCLOSED BY BY '"' '"' LINES LINES TERMINATED BY BY '\n' '\n' FROM FROMProveedores Cargar el fichero en la tabla. LOAD LOAD DATA DATA INFILE INFILE "c:/temp/proveedores.txt" INTO INTO TABLE TABLE proveedores FIELDS TERMINATED BY BY ',' ',' OPTIONALLY ENCLOSED BY BY '"' '"' Marta Zorrilla 53

54 IMD XXVI : SELECT Unión de Sentencias (Ejemplo) Permite combinar los los resultados de de dos dos o más más consultas. Para Para ello ello se se requiere el el operador UNION. Listar todos los proveedores de las tablas Proveedores y Proveedores_Anulados ordenados por su código. SELECT codigpro, nombrpro, localpro FROM FROMProveedores UNION UNION SELECT codigp, codigp, nombrp, localp localp FROM FROMProveedores_Anulados ORDER BY BY 1 Marta Zorrilla 54

55 Nuevas características en v. 5.0.x.x Procedimientos y funciones almacenados. MySQL follows the SQL:2003 syntax for stored procedures Triggers Cursors: : de solo lectura y no scrolling Vistas actualizables Transacciones distribuidas Marta Zorrilla 55

56 Procedimientos en MySQL CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic...] routine_body proc_parameter: [ IN OUT INOUT ] param_name type type: Any valid MySQL data type characteristic: LANGUAGE SQL [NOT] DETERMINISTIC { CONTAINS SQL NO SQL READS SQL DATA MODIFIES SQL DATA } SQL SECURITY { DEFINER INVOKER } COMMENT 'string' routine_body: Valid SQL procedure statement Marta Zorrilla 56

57 Ejemplo procedimiento delimiter // // CREATE PROCEDURE precio (IN (IN codigo char(6), OUT precio decimal(8,2)) BEGIN SELECT preunart INTO precio FROM articulos where codigart=codigo; codigo; END; // // delimiter ; ; CALL precio("0001",@valor); Marta Zorrilla 57

58 Ejemplo procedimiento CREATE PROCEDURE calcula_pedido(in codigo char(6), OUT OUT total total decimal(8,2), OUT OUT iva ivadecimal(3,1)) BEGIN SELECT SUM((preunlin*unilin)*(1-desculin/100)) unilin)*(1 into into total total from from lineas WHERE numped=codigo group by by numped; SELECT ivaped into into iva ivafrom pedidos WHERE numped=codigo; END END // // call call calcula_pedido + (@total * (@iva/100)); Marta Zorrilla 58

59 Funciones en MySQL CREATE FUNCTION sp_name ([func func_parameter[,...]]) RETURNS type [characteristic...] routine_body func_parameter: param_name type type: Any valid MySQL data type characteristic: idem procedures routine_body: Valid SQL procedure statement Marta Zorrilla 59

60 Ejemplo función drop drop function if if exists showdate // // create function showdate() returns varchar(20) begin declare l_date date; set set l_date = CURDATE(); return l_date; end end // // select showdate() Marta Zorrilla 60

61 Vistas en MySQL CREATE ALTER [OR REPLACE] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED LOCAL] CHECK OPTION] WITH CHECK OPTION : verifica que cumple la condición SELECT al insertar o modificar, en la vista exclusivamente (local) o también las vistas de las que depende (cascada) Permite vistas actualizables Tiene ciertas restricciones Marta Zorrilla 61

62 Ejemplo vista CREATE VIEW pedidos_totales AS AS SELECT numped, SUM((preunlin*unilin)*(1-desculin/100)) from from lineas group by by numped; -- --su suuso uso SELECT * FROM pedidos_totales Marta Zorrilla 62

63 Triggers en MySQL CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt Trigger_time: se activa BEFORE o AFTER de la instrucción que lo activó Trigger_event : evento que activa el trigger: INSERT, UPDATE o DELETE OLD.col_name y NEW.col_name se refieren a los valores antes y después de la acción. Permite actuar sobre otras tablas y sobre valores de la tabla afectada pero no controlar reglas de negocio. Permite llamar a proc. almacenados Marta Zorrilla 63

64 Ejemplo trigger -- --CONTROL DE DE LOG. Si Sise se modifica el el precio de de un un artículo apunto cuándo y quién lo lo ha ha hecho en en la la tabla auditoria_art. CREATE TRIGGER trigger_auditoria_art AFTER UPDATE ON ON articulos FOR FOR EACH ROW BEGIN INSERT INTO auditoria_art (codart, precio_anterior, precio_actual, usuario, fecha_modificacion) VALUES (OLD.codart, OLD.preunart, NEW.preunart,CURRENT_USER(), NOW() ); ); END; Marta Zorrilla 64

65 -- --ACTUALIZACION SOBRE LA LA PROPIA TABLA Ejemplo trigger mysql> DELIMITER // // mysql> CREATE TABLE ventas (id (id INT INT NOT NOT NULL AUTO_INCREMENT, -> -> item item VARCHAR(10), -> -> valor DECIMAL(9,2), -> -> comision DECIMAL(7,2), -> -> PRIMARY KEY(id)) // // mysql> CREATE PROCEDURE comision(valor DECIMAL(9,2)) -> -> BEGIN -> -> SET := := valor // 10; 10; -> -> END; -> ->// // mysql> CREATE TRIGGER ventas_comm BEFORE INSERT ON ON ventas -> -> FOR FOR EACH ROW -> -> BEGIN -> -> CALL comision(new.valor); -> -> SET SET NEW.comision -> -> END; -> ->// // mysql> DELIMITER ;; Marta Zorrilla 65

66 Bibliografía BASES DE DATOS: BASES DE DATOS: -Mora, E.; Zorrilla, M.; Díaz de Entresotos, J. (2003). Iniciación a las bases -Mora, E.; Zorrilla, M.; Díaz de Entresotos, J. (2003). Iniciación a las bases de datos con Access Díaz de Santos. Madrid. de datos con Access Díaz de Santos. Madrid. - Halpin, T. (2001). Information Modeling and Relational Databases. From - Halpin, T. (2001). Information Modeling and Relational Databases. From Conceptual Analysis to Logical Design. Morgan Haufmann Publishers. Conceptual Analysis to Logical Design. Morgan Haufmann Publishers. - Miguel, A. de; Piattini, M ; Marcos, E. (1999). Diseño de Bases de Datos - Miguel, A. de; Piattini, M ; Marcos, E. (1999). Diseño de Bases de Datos Relacionales. ra-ma. Relacionales. ra-ma. - Miguel, A. de; Piattini, M. (1999). Fundamentos y modelos de bases de - Miguel, A. de; Piattini, M. (1999). Fundamentos y modelos de bases de datos. ra-ma. datos. ra-ma. -Silberschatz, A.; Korth, H. F.; Sudarshan, S. (2002). Fundamentos de bases -Silberschatz, A.; Korth, H. F.; Sudarshan, S. (2002). Fundamentos de bases de datos. Mc. Graw Hill. Madrid. de datos. Mc. Graw Hill. Madrid. MySQL y PHP MySQL y PHP Cobo, A. Gómez, P.; Pérez, D.; Rocha, R. PHP y MySQL. Tecnologías para - Cobo, A. Gómez, P.; Pérez, D.; Rocha, R. PHP y MySQL. Tecnologías para el desarrollo de Aplicaciones Web. el desarrollo de Aplicaciones Web. 66

MySQL 5.0. Dra. Marta E. Zorrilla. Universidad de Cantabria Curso 2006/07. Departamento de Matemáticas, Estadística y Computación

MySQL 5.0. Dra. Marta E. Zorrilla. Universidad de Cantabria Curso 2006/07. Departamento de Matemáticas, Estadística y Computación MySQL 5.0 Dra. Marta E. Zorrilla Departamento de Matemáticas, Estadística y Computación Universidad de Cantabria Curso 2006/07 Tabla de contenidos Introducción n a MySQL Crear BDs.. Bases de datos del

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Restricciones (constraints) FOREIGN KEY

Restricciones (constraints) FOREIGN KEY INSTITUTO DE EDUCACION TECNICA PROFESIONAL INTEP 1 Restricciones (constraints) FOREIGN KEY InnoDB también soporta restricciones de claves foráneas. La sintaxis para definir una restricción de clave foránea

Más detalles

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos Manuel Torres Gil mtorres@ual.es Departamento de Lenguajes y Computación Universidad de Almería Desarrollo de aplicaciones web Contenidos 1. La consola de 2. Comandos de interés 3. Creación de bases de

Más detalles

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

MySQL y Sesiones en PHP. Área de Ingeniería Telemática MySQL y Sesiones en PHP Contenido Repaso de SQL PHP y MySQL MySQL en PHP 2 Numéricos Standard: Repaso SQL: tipo de datos INTEGER o INT, SMALLINT, DECIMAL o DEC, NUMERIC FLOAT, REAL, DOUBLE PRECISION BIT

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

Curso de MySQL y Java

Curso de MySQL y Java Curso de MySQL y Java Introducción: instalación, arranque y primeros pasos 1. Material En este curso vamos a trabajar con el servidor mysql versión 4.0.18. También utilizaremos una herramienta llamada

Más detalles

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, 2006. SQL básico. Carlos Rodrigo Blanco LAEFF INTA crb@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, 2006. SQL básico. Carlos Rodrigo Blanco LAEFF INTA crb@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, 2006 SQL básico LAEFF INTA crb@laeff.inta.es Qué es SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado,

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) N O T A S D E L A M A T E R I A B A S E S D E D A T O S I L I C E N C I A T U R A E N C I E N C I A S D E L A C O M P U T A C I Ó N U N I V E R S I D A D D E

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

M. C. Gustavo Alfonso Gutiérrez Carreón

M. C. Gustavo Alfonso Gutiérrez Carreón 1. Seguridad de bases de datos 2. Optimización de las variables M. C. Gustavo Alfonso Gutiérrez Carreón Funcionamiento: 1. Los clientes se conectan a servidor. 2. Los clientes inician autentificación,

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalación

Más detalles

Existen muchos tipos de base de daos en función del modo en que almacenan y acceden a la información que almacenan.

Existen muchos tipos de base de daos en función del modo en que almacenan y acceden a la información que almacenan. 4.1 Base de datos Relacionales. Una base de datos es un conjunto de datos y un gestor de base de datos es una aplicación capaz de manejar este conjunto de datos de manera eficiente y cómoda. Existen muchos

Más detalles

Lenguaje SQL. Marta E. Zorrilla, Eduardo Mora. Universidad de Cantabria. Departamento de Matemática Aplicada y Ciencias de la Computación 2005-2006 1

Lenguaje SQL. Marta E. Zorrilla, Eduardo Mora. Universidad de Cantabria. Departamento de Matemática Aplicada y Ciencias de la Computación 2005-2006 1 Lenguaje SQL Marta E. Zorrilla, Eduardo Mora Departamento de Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria 2005-2006 1 Contenido Introducción. Introducción. Instrucciones Instrucciones

Más detalles

ÍNDICE PRIMERA PARTE... 17

ÍNDICE PRIMERA PARTE... 17 ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL) OBJETIVOS: Enseñar al alumno las sentencias que forman el lenguaje de definición de datos de SQL, es decir, el subconjunto de órdenes que nos permitirán crear o editar esquemas de bases de datos. MATERIAL:

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA Tema 2 Modelos de Base de Datos Profesor Luis Gmo. Zúñiga Mendoza UMCA Introducción Como hemos visto la base de datos consiste en una colección de datos estructura, que finalmente permite ser accedida

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

`ALTER TABLE' cambia la estructura de una tabla ya existente.

`ALTER TABLE' cambia la estructura de una tabla ya existente. `ALTER TABLE' cambia la estructura de una tabla ya existente. Por ejemplo: tu puedes agregar o borra columnas, craer o borrar index, tambien se puede cambiar el tipo de columna ya existente y renombrar

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

Select table data Insert table data Update table data Delete table data Create table

Select table data Insert table data Update table data Delete table data Create table Permisos de Usuario Esta página te permite crear y editar usuarios que tendrán acceso a tus bases de datos MySQL. Para cada usuario, puedes especificar un nombre, clave de acceso, máquinas autorizadas

Más detalles

TEMA 20: CONCEPTOS BÁSICOS DE SQL

TEMA 20: CONCEPTOS BÁSICOS DE SQL TEMA 20: CONCEPTOS BÁSICOS DE SQL OBJETIVOS DEL TEMA Introducción al lenguaje de consultas SQL. Para iniciar esta parte del curso se va a utilizar el programa SQLITE que es sencillo, multiplataforma y

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

Base de Datos Práctica 1.

Base de Datos Práctica 1. Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

SQL básico. SQL básico http://idesweb.es/ 1. Contenido

SQL básico. SQL básico http://idesweb.es/ 1. Contenido SQL básico http://idesweb.es/ 1 SQL básico El presente documento no tiene más aspiraciones que servir de recordatorio mínimo para las órdenes más básicas y en su mínima expresión. No es un manual de SQL

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje

Más detalles

MANUALITO MS-SQL SERVER

MANUALITO MS-SQL SERVER MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

Bases de Datos - 2006. SQL - Ejemplos

Bases de Datos - 2006. SQL - Ejemplos Bases de Datos - 2006 SQL - Ejemplos Consideramos la siguiente base de datos relacional: persona(dni,primer-nombre,apellido) biblioteca(nombre-biblioteca,calle,número) libro(título,isbn,editorial,edición)

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Introducción a las bases de datos.

Introducción a las bases de datos. Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala OPERADOR UNION (L30) UNION UNION OPERADOR INTERSECCION (L31) OPERADOR RELACIONAL INTERSECCION, DEVUELVE REGISTROS CON CAMPOS COMUNES. LAS TABLAS INVOLUCREADAS DEBEN TENER

Más detalles

SQL (Structured Query Language)- DML

SQL (Structured Query Language)- DML SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,

Más detalles

Seguridad en SQL Server 2005

Seguridad en SQL Server 2005 Seguridad en SQL Server 2005 Tabla de contenidos Modelo de Seguridad en SQL Server Inicios de Sesión - Usuarios Esquemas de Base de Datos Usuarios de Base de Datos Contexto de Ejecución Permisos a sentencias

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

Más detalles

APÉNDICE SQL (Structures Query Language)

APÉNDICE SQL (Structures Query Language) SQL 1 / 7 APÉNDICE SQL (Structures Query Language) SQL se ha establecido como lenguaje de bases de datos relacionales estándar, y se pueden distinguir tres partes: DDL (Data Definition Language) permite

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 SQL (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 Crear una Tabla (Esquema de Relación) (1) (Cascadas) postgres=# CREATE TABLE departamento ( codigo

Más detalles

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

Bases de datos y tablas

Bases de datos y tablas Mario Martínez http://www.lawebdelprogramador.com Bases de datos y tablas Creación con SQL 100499. Cuando concluyas la lectura de este documento sabrás como: Crear bases de datos. Crear tablas y sus campos.

Más detalles

PHP Y BASES DE DATOS. Introducción a SQL

PHP Y BASES DE DATOS. Introducción a SQL PHP Y BASES DE DATOS M.I María Luisa González Ramírez Introducción a SQL SQL es el lenguaje usado para interactuar con las base de datos. Es un lenguaje normalizado, utilizado por los diferentes motores

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción: Guía de MySQL Contenidos: 1.- Introducción: 2.- Creación de una base de datos. CREATE DATABASE. 3.- Creación de una tabla y mostrar sus campos (CREATE TABLE - SHOW TABLES - describe - DROP TABLE) 4.- Instrucción

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

MANUAL BÁSICO DE MySQL

MANUAL BÁSICO DE MySQL MANUAL BÁSICO DE MySQL Es el sistema de gestión de bases de datos Open Source más popular del mundo. Este manual es muy básico para ampliar consultar web del punto 12.Referencias 1. Instalar MySQL en Linux

Más detalles

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa) GUIA DE LABORATORIO N 9 B (000Webhost Php- Para desarrollar en casa) Objetivo: Crear servicios web utilizando la arquitectura REST, para obtener información desde un servidor web gratuito que se conecta

Más detalles

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

Más detalles

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra. Unidad IV: Seguridad 4.1 Tipos de usuario El objetivo de la creación de usuarios es establecer una cuenta segura y útil, que tenga los privilegios adecuados y los valores por defecto apropiados Para acceder

Más detalles

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I Boletín de Problemas de la Asignatura II18 Bases de Datos Ingeniería Informática Universitat Jaume I Ingeniería Informática. Universitat Jaume I II18 - Bases de Datos. Práctica 1 Práctica 1 Objetivos de

Más detalles

Lenguaje SQL SQL Server 2005

Lenguaje SQL SQL Server 2005 Lenguaje SQL SQL Server 2005 Marta E. Zorrilla Dpto. de Matemáticas, Estadística y Computación Universidad de Cantabria Marta Zorrilla 2009-2010 1 Contenido Introducción. Introducción. Estándar Estándar

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl Contenido ACERCA DE LOS AUTO RES..................................... III AGRADECIMIENTOS........................................... xi INTRODUCCION............................................... Xl Introduccion

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios Curso de SQL Server 2005 Developer e Introducción a VB.net Práctica No.1. Escribiendo y ejecutando código transact sql desde el Query Analyzer EELLAA BBO RRAADDO PPO RR: FFEECCHHAA DDEE EELLAABB OO RR

Más detalles