Lenguaje SQL SQL Server 2005

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

Download "Lenguaje SQL SQL Server 2005"

Transcripción

1 Lenguaje SQL SQL Server 2005 Marta E. Zorrilla Departamento de Matemática, Estadística y Computación Universidad de Cantabria Marta Zorrilla

2 Contenido Introducción. Introducción. Instrucciones Instrucciones de de Definición Definición de de Datos. Datos. Ejemplos. Ejemplos. Instrucciones Instrucciones de de Manipulación Manipulación de de Datos. Datos. Ejemplos. Ejemplos. Referencias bibliográficas: - Kalen Delaney. A fondo Microsoft SQL Server McGraw-Hill, Henderson, K. SQL Server 2000 Stored Procedure & XML Programming, 2ª ed Henderson, K. The Guru's Guide to Transact-SQL. Addison-Wesley Sunderic, D. Microsoft SQL Server 2005 stored procedure programming in T-SQL &.NET Sql Server Ayuda online. Marta Zorrilla

3 Introducción SQL (Structured Query Language). Lenguaje declarativo de acceso a los datos. Estándar para las bases de datos relacionales. Incluye la capacidad de manipular tanto la estructura de la base de datos como sus datos. Aspectos de seguridad. Desarrollado en el Laboratorio de investigación de San José de IBM. Fue utilizado por primera vez en En 1986: ANSI (American National Standards Institute) e ISO (International Standards Organization) publicaron una norma, denominada SQL-86. Ésta ha tenido dos actualizaciones: SQL-89 y SQL-92. En la actualidad, se trabaja con el SQL:1999 y SQL:2003 Marta Zorrilla

4 SQL-92 y SQL-99 SQL-92 incorpora: Nuevos operadores relacionales: OUTER JOIN y JOIN SQL dinámico El parámetro SQLSTATE para gestión de errores Cursores de desplazamiento (scroll cursor). Modo de acceso (lectura o lectura/escritura) y nivel de aislamiento de las transacciones. Definir dominios (CREATE DOMAIN). En la actualidad, se trabaja con el SQL:1999 (revisado en SQL3). Las características más relevantes son: Nuevos tipos de datos: LOB, BOOLEAN, ROW, ARRAY, DISTINCT. Posibilidad de definir nuevos tipos de datos por parte del usuario (limitado). Disparadores (triggers), vistas actualizables (Indexed views) Cursores (punteros) sensitivos. Queries recursivos. Definición de roles de usuario Incorporación de las características de orientación a objetos: tipos de datos abstractos, generalización, herencia y polimorfismo. Marta Zorrilla

5 SQL:2003 Nuevos tipos de datos: MULTISET, BIGINT y XML Columnas calculadas en tablas (valores escalares) Funciones escalares y que devuelven tablas Creación de tablas: LIKE, AS MERGE: permite la combinación de operaciones de inserción y actualización en una sola instrucción Generadores de secuencia. Nuevas funciones escalares, de agregación, de clasificación (RANK, ROW_NUMBER...) Marta Zorrilla

6 Lenguaje de definición n de datos SQL Server 2005 (Parte 1)

7 Instrucciones de Definición n de Datos (IDD) 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 DATABASE CREATE TABLE ALTER TABLE CREATE INDEX CREATE VIEW CREATE TRIGGER CREATE PROCEDURE / FUNCTION CREATE RULE DROP objeto Cláusula CONSTRAINT Marta Zorrilla

8 IDD I : CREATE DATABASE Para crear una base de datos. Su sintaxis es: CREATE DATABASE nombrebd [[ ON ON [[ < fichero fichero > [[,...n,...n]]] ] [[,, < grupo_fichero > [[,...n,...n]]] ] ]] [[ LOG LOG ON ON {{ < fichero fichero > [[,...n,...n]]}}] ] [[ COLLATE collation_name ]] [[ FOR FOR LOAD LOAD FOR FOR ATTACH ]] < fichero fichero > ::= ::= [[ PRIMARY ]] (([[ NAME NAME = logical_file_name,,]] FILENAME = 'os_file_name' [[,, SIZE SIZE = size size ]] [[,, MAXSIZE = {{ max_size UNLIMITED }}]] [[,, FILEGROWTH = growth_increment ]]))[ [,...n,...n]] < grupo_fichero > ::= ::= FILEGROUP filegroup_name < fichero fichero > [[,...n,...n]] nombrebd: nombrebd: es es el el nombre nombre de de la la BD BD que que se se va va a a crear. crear. collation_name: collation_name: mapa mapa de de caracteres caracteres logical_file_name logical_file_name :: nombre nombre lógico lógico del del fichero. fichero. os_file_name os_file_name :: nombre nombre físico físico del del fichero. fichero. size: size: es es el el tamaño tamaño del del fichero. fichero. max_size: max_size: es es el el tamaño tamaño máximo máximo del del fichero. fichero. growth_increment growth_increment :: incremento incremento del del fichero. fichero. filegroup_name: filegroup_name: nombre nombre grupo grupo de de archivos archivos Marta Zorrilla

9 IDD I : CREATE DATABASE. Ejemplo CREATE DATABASE [compras] ON ON (NAME (NAME = N'compras', FILENAME = N'C:\data\compras.mdf',, SIZE SIZE = 2, 2, MAXSIZE = 3000,FILEGROWTH = 10%) 10%) LOG LOG ON ON (NAME (NAME = N'compras_log', FILENAME = N'C:\data\compras_log.LDF',, SIZE SIZE = 1, 1, FILEGROWTH = 10%) 10%) COLLATE Modern_Spanish_CI_AS Marta Zorrilla

10 Páginas y extensiones PÁGINA: es la unidad fundamental de almacenamiento de datos en Microsoft SQL Server. Su tamaño es de 8 KB. Esto significa que las bases de datos de SQL Server 2005 tienen 128 páginas por cada megabyte. El inicio de cada página es un encabezado de 96 bytes utilizado para almacenar información del sistema, como el tipo de página, la cantidad de espacio libre en la página y el Id. del objeto propietario de la página. En SQL Server, las filas no pueden continuar en otras páginas. En SQL Server, la máxima cantidad de datos contenidos en una fila es de 8060 bytes, sin incluir los tipos de dato text, ntext e image. Al final de cada página se encuentra una tabla de desplazamiento de filas. La tabla de desplazamiento de filas contiene una entrada por cada fila de la página y cada entrada registra la posición del primer byte de la fila con respecto al principio de la página. Las entradas de la tabla de desplazamiento de filas están en orden inverso a la secuencia de las filas de la página Las EXTENSIONES son la unidad básica en la que se asigna espacio a las tablas e índices. Una extensión consta de 8 páginas contiguas, es decir 64 KB. Esto significa que las bases de datos de SQL Server tienen 16 extensiones por megabyte. Marta Zorrilla

11 SQL Server database Data (file).mdf or.ndf Log (file).ldf Tablas e índices Extents = 8 páginas continuas de 8 KB Datos se almacenan en Páginas de 8 KB Tamaño máx. fila 8060 bytes 128 páginas por MB Cabecera Filas de datos Matriz desplazamientos Cada archivo se divide en páginas de 8 Kb numeradas de 0 hasta x, donde x viene definido por el tamaño del fichero. Acceder a una página: ID de BD, ID de fichero y nº de pág Fichero mdf: punto de comienzo de la BD, en sysfiles apunta los ficheros que constituyen la BD y además almacena las tablas del sistema. Marta Zorrilla

12 IDD II : CREATE TABLE Para incorporar una tabla nueva a la base de datos. Su sintaxis es: CREATE TABLE [[ nombredb.[ propietario ]].. propietario. ]] tabla tabla (campo1 tipo tipo [(tamaño)] [NOT [NOT NULL] NULL] [restricción_un_campo1 [[......] ]] [, [, campo2 tipo tipo [(tamaño)] [NOT [NOT NULL] NULL] [restricción_un_campo2 [[......] ]] [, [,...]] [, [, restricción_varios_campos [, [,...]...]]]) ) [[ ON ON { grupo_fichero DEFAULT } ]] [[ TEXTIMAGE_ON { grupo_fichero DEFAULT } ]] tabla: tabla: es es el el nombre nombre de de la la tabla tabla que que se se va va a a crear. crear. campo1, campo1, campo2: campo2: son son nombres nombres de de campos. campos. Debe Debe crearse crearse al al menos menos un un campo. campo. tipo: tipo: es es el el tipo tipo de de dato dato asociado asociado al al campo. campo. tamaño: tamaño: es es el el tamaño tamaño del del campo campo en en caracteres caracteres (solamente (solamente para para campos campos de de tipo tipo Texto). Texto). restricción_un_campo1, restricción_un_campo2: son son cláusulas cláusulas CONSTRAINT CONSTRAINTque que afectan afectan a a un un único único campo. campo. restricción_varios_campos: es es una una cláusula cláusula CONSTRAINT CONSTRAINTque que define define un un índice índice de de múltiples múltiples campos. campos. ON: ON: Especifica Especifica el el grupo grupo de de archivos archivos en en el el que que se se almacena almacena la la tabla. tabla. Marta TEXTIMAGE_ON: TEXTIMAGE_ON: Zorrilla indica indicaen en qué quégrupo de de archivos archivos se se almacenan almacenanlas las columnas columnas text, text, ntext ntexte e image. image. 12

13 IDD I : CREATE DATABASE TABLE. Ejemplo CREATE CREATE DATABASE DATABASE MyDB MyDB ON ON PRIMARY PRIMARY (( NAME='MyDB_Primary', FILENAME= FILENAME= 'c:\program 'c:\programfiles\microsoft Files\MicrosoftSQL SQL Server\MSSQL.1\MSSQL\data\MyDB_Prm.mdf', SIZE=4MB, SIZE=4MB, MAXSIZE=10MB, MAXSIZE=10MB, FILEGROWTH=1MB), FILEGROWTH=1MB), FILEGROUP FILEGROUPMyDB_FG1 (( NAME NAME = 'MyDB_FG1_Dat1', 'MyDB_FG1_Dat1', FILENAME FILENAME = 'c:\program 'c:\programfiles\microsoft Files\MicrosoftSQL SQL Server\MSSQL.1\MSSQL\data\MyDB_FG1_1.ndf', SIZE SIZE = 1MB, 1MB, MAXSIZE=10MB, MAXSIZE=10MB, FILEGROWTH=1MB), FILEGROWTH=1MB), (( NAME NAME = 'MyDB_FG1_Dat2', 'MyDB_FG1_Dat2', FILENAME FILENAME = 'c:\program 'c:\programfiles\microsoft Files\MicrosoftSQL SQL Server\MSSQL.1\MSSQL\data\MyDB_FG1_2.ndf', SIZE SIZE = 1MB, 1MB, MAXSIZE=10MB, MAXSIZE=10MB, FILEGROWTH=1MB) FILEGROWTH=1MB) LOG LOG ON ON (( NAME='MyDB_log', NAME='MyDB_log', FILENAME FILENAME = 'c:\program 'c:\programfiles\microsoft Files\MicrosoftSQL SQL Server\MSSQL.1\MSSQL\data\MyDB.ldf', SIZE=1MB, SIZE=1MB, MAXSIZE=10MB, MAXSIZE=10MB, FILEGROWTH=1MB); FILEGROWTH=1MB); CREATE CREATE TABLE TABLEMyTable (( cola cola int intprimary KEY, KEY, colb colbchar(8) char(8) )) ON Marta Zorrilla ONMyDB_FG1;

14 IDD III : ALTER TABLE Para modificar el diseño de una tabla que ya existe en la base de datos. Su sintaxis es: ALTER ALTER TABLE tabla tabla {{ ADD ADD [COLUMN] campo campo tipo[(tamaño)] [NOT [NOT NULL] NULL] [restricción_un_campo] [[ WITH WITH CHECK WITH WITH NOCHECK ]] ADD ADD {{ restricción_tabla }}[[,...n,...n]] ALTER ALTER COLUMN {{ campo campo tipo tipo [(tamaño)] }} DROP DROP {COLUMN campo campo CONSTRAINT nombre_restricción} {{ ENABLE DISABLE }} TRIGGER {{ ALL ALL nombre_trigger [[,...n,...n]]}} {{ CHECK NOCHECK }} CONSTRAINT {{ ALL ALL nombre_restricción[,...n,...n]]}}} tabla: tabla: es es el el nombre nombre de de la la tabla tabla que que se se va va a a modificar. modificar. campo: campo: es es el el nombre nombre del del campo campo que que se se va va a a añadir añadir o o modificar modificar en en la la tabla tabla.. tipo: tipo: es es el el tipo tipo de de dato dato que que se se asigna asigna a a campo. campo. tamaño: tamaño: es es el el tamaño tamaño del del campo campo en en caracteres caracteres (solamente (solamente para para campos campos de de tipo tipo Texto). Texto). restricción_un_campo: restricción_un_campo: es es una una cláusula cláusula CONSTRAINT CONSTRAINTque que afectan afectan a a un un único único campo. campo. restricción_tabla: restricción_tabla: es es una una cláusula cláusula CONSTRAINT CONSTRAINTque que afecta afecta a a varios varioscampos. nombre_restricción: nombre_restricción: es es el el nombre nombre de de la la restricción restricción que que se se va va a a eliminar eliminaro o ha ha habilitar/deshabilitar. habilitar/deshabilitar. nombre_trigger: nombre_trigger: es es el el nombre nombre del del desencadenador desencadenador que que se se va va a a eliminar eliminaro o ha ha habilitar/deshabilitar. habilitar/deshabilitar. Marta Zorrilla

15 IDD IV : CLÁUSULA CONSTRAINT SOBRE UN SOLO CAMPO Se utiliza en instrucciones CREATE TABLE y ALTER TABLE para crear o eliminar restricciones. Esta cláusula puede referirse a un campo de la tabla. La restricción Primary Key y Unique generan índice, Foreign key no. CONSTRAINT CONSTRAINT nombre nombre { { [ [ NULL NULL NOT NOT NULL NULL ] ] [ [ { { PRIMARY PRIMARY KEY KEY UNIQUE UNIQUE } } [ [ CLUSTERED CLUSTERED NONCLUSTERED NONCLUSTERED ] ] [ [ WITH WITH FILLFACTOR FILLFACTOR = = factor_relleno factor_relleno ] ] [ [ ON ON {grupo_ficheros {grupo_ficheros DEFAULT} DEFAULT} ] ] ] ] ] [ [ [ FOREIGN FOREIGN KEY KEY ] ] REFERENCES REFERENCES otra_tabla[ otra_tabla[ (campo_externo1) (campo_externo1) ] ] [ [ ON ON DELETE DELETE {NO {NO ACTION ACTION CASCADE CASCADE SET SET NULL NULL SET SET DEFAULT DEFAULT } } ] ] [ [ ON ON UPDATE UPDATE {NO {NO ACTION ACTION CASCADE CASCADE SET SET NULL NULL SET SET DEFAULT DEFAULT } } ] ] [ [ NOT NOT FOR FOR REPLICATION REPLICATION ] ] ] ] CHECK CHECK [ [ NOT NOT FOR FOR REPLICATION REPLICATION ] ] ( ( expresión_lógica expresión_lógica ) ) } } nombre: nombre: es es el el nombre nombre de de la la restricción restricción que que se se va va a a crear. crear. otra_tabla: otra_tabla: es es el el nombre nombre de de la la tabla tabla a a la la que que se se hace hace referencia. referencia. campo_externo1: campo_externo1: son son los los nombres nombres de de los los campos campos de de la la otra_tabla otra_tablaa a los los que que se se hace hace referencia. referencia. factor_relleno: factor_relleno: especifica especifica cuánto cuánto se se debe debe llenar llenar cada cada página página de de índice índice utilizada utilizada para para almacenar almacenar los los datos datos de de índice.entre índice.entre 00 y y Por Por defecto defecto grupo_ficheros: grupo_ficheros: indica indica dónde dónde se se almacena almacena la la tabla tabla expresión_lógica: Marta expresión_lógica: Expresión Zorrilla Expresión que que devuelve devuelve true trueo o false false 15

16 IDD V: CLÁUSULA CONSTRAINT SOBRE TABLA CONSTRAINT CONSTRAINTnombre {{ [[{{ PRIMARY PRIMARY KEY KEY UNIQUE UNIQUE }} [[ CLUSTERED CLUSTERED NONCLUSTERED NONCLUSTERED ]] {{(principal1 (principal1[ [ ASC ASC DESC DESC ]][ [,, principal2 principal2 [, [,...]...]] ]))} } [[ WITH WITH FILLFACTOR FILLFACTOR = factor_relleno] factor_relleno] [[ ON ON {{ grupo_ficheros grupo_ficheros DEFAULT DEFAULT }}] ] ]] FOREIGN FOREIGN KEY KEY [[(referencia1 (referencia1[,[, referencia2 referencia2 [, [,...]...]] ]))] ] REFERENCES REFERENCES otra_tabla otra_tabla [[(campo_externo1 (campo_externo1[ [,...,... campo_externo2 campo_externo2 ]]))] ] [[ ON ON DELETE DELETE {NO {NO ACTION ACTION CASCADE CASCADE SET SET NULL NULL SET SET DEFAULT DEFAULT }}] ] [[ ON ON UPDATE UPDATE {NO {NO ACTION ACTION CASCADE CASCADE SET SET NULL NULL SET SET DEFAULT DEFAULT }}] ] [[ NOT NOT FOR FOR REPLICATION REPLICATION ]] CHECK CHECK [[ NOT NOT FOR FOR REPLICATION REPLICATION ]] (expresión_lógica (expresión_lógica) ) }} nombre: nombre: es es el el nombre nombre de de la la restricción restricción que que se se va va a a crear. crear. principal1, principal1, principal2: principal2: son son los los nombres nombres de de los los campos campos que que compondrán compondrán la la clave clave principal. principal. referencia1, referencia1, referencia2: referencia2: son son los los nombres nombres de de los los campos campos que que hacen hacen referencia referencia a a otros otros de de otra otra tabla. tabla. otra_tabla: otra_tabla: es es el el nombre nombre de de la la tabla tabla a a la la que que se se hace hace referencia. referencia. campo_externo1, campo_externo1, campo_externo2: campo_externo2: son son los los nombres nombres de de los los campos campos de de la la otra_tabla otra_tablaa a los los que que se se hace hace referencia. referencia. expresión_lógica: expresión_lógica: criterio criterio que que se se ha ha de de cumplir. cumplir. Devuelve Devuelve true trueo o false false Marta Zorrilla

17 Ejemplo La La base base de de datos datos trata trata de de informatizar informatizar el el proceso proceso de de compras compras de de una una empresa. empresa. Esto Esto es, es, recoger recoger los los pedidos pedidos de de los los artículos, artículos, contemplados contemplados en en su su catálogo, catálogo, que que compran compran a proveedores proveedores ya ya conocidos. conocidos. Reglas: Reglas: --No No puede puede seleccionar seleccionar un un artículo artículo descatalogado. descatalogado. --Si Si el el stock stock alcanza alcanza el el mínimo mínimo establecido, establecido, se se ha ha de de notificar notificar como como un un evento. evento. Marta Zorrilla

18 IDD: CREATE TABLE Ejemplos Escribir las instrucciones SQL necesarias para construir la base de datos cuyo esquema de relaciones es: CREATE CREATE TABLE TABLE Lineas Lineas (( CREATE CREATE TABLE TABLE numped numped Proveedores Proveedores INTEGER INTEGER (( NOT NOT NULL, NULL, codigpro codigpro CHAR(4) CHAR(4) numlin numlin NOT SMALLINT NOT SMALLINT NULL NULL NOT NOT CONSTRAINT CONSTRAINT NULL, NULL, id_pro id_pro PRIMARY PRIMARY KEY, KEY, CREATE CREATE TABLE cifpro TABLE Articulos cifpro CHAR(12) codigart Articulos ( CREATE CHAR(12) codigart NOT CHAR(6) ( CREATE TABLE TABLE Pedidos Pedidos ( NOT CHAR(6) ( NULL NULL NOT NOT CONSTRAINT CONSTRAINT NULL, NULL, u_cif u_cifunique, codigart nombrprocodigart CHAR(6) CHAR(30) unilin CHAR(6) NOT CHAR(30) unilin FLOAT NOT FLOAT NOT NULL, NOT NULL NOT NULL CONSTRAINT NOT NULL, CONSTRAINT id_art id_artprimary KEY, numped KEY, numped INTEGER INTEGER NULL, NOT NOT NULL, NULL NULL CONSTRAINT CONSTRAINT id_ped id_pedprimary KEY, KEY, descrart direcpro direcpro CHAR(30) descrart CHAR(40) preunlinchar(40) NOT CHAR(30) NOT MONEY NOT MONEY NULL, NOT NULL, fechaped NOT NULL, fechaped DATETIME DATETIMENULL, NOT NOT NOT NULL, NULL, NULL NULL DEFAULT DEFAULT getdate(), getdate(), preunart cpostpro cpostprochar(5) preunart MONEY desculinmoney NOT NOT NOT FLOAT FLOAT NULL NOT NULL, codigpro NULL NOT CHECK NULL, codigpro CHAR(4) CHAR(4) NOT CHECK NOT NOT NULL NULL NULL, (cpostpro NULL, (cpostpro CHECK CHECK like like (desculin>=0 (desculin>=0 '[0-9][0-9][0-9][0-9][0-9]'), and anddesculin<=100), desculin<=100), stockart localpro stockart INTEGER localpro CHAR(20) CHAR(20) totallin INTEGER NOT totallin NOT AS NOT AS ([preunlin] ([preunlin] NULL, NOT NULL NULL CHECK NULL, **[unilin] CHECK (stockart [unilin]**(1 (1 [desculin] (stockart >0), ivaped >0), ivaped FLOAT FLOAT NOT NOT NULL NULL CHECK CHECK (ivaped>0 (ivaped>0 // 100)), 100)), and andivaped<100), stockmin telefpro telefpro CONSTRAINT stockmin INTEGER CONSTRAINT CHAR(17) INTEGER NOT CHAR(17) NOT NOT id_lin id_lin NULL, NULL, PRIMARY NOT NULL NULL CHECK PRIMARY KEY CHECK (stockmin>0), fentrped KEY (numped, (stockmin>0), fentrped DATETIME DATETIME NOT NOT NULL, NULL, (numped, numlin), numlin), fecbaja faxpro faxpro fecbaja DATETIME) CONSTRAINT CHAR(17), DATETIME) CONSTRAINT CHAR(17), f_pro f_prof_ped FOREIGN f_ped FOREIGN FOREIGN FOREIGN KEY KEY (codigpro) KEY (codigpro) KEY (numped) (numped) REFERENCES REFERENCES Proveedores Proveedores Pedidos Pedidos (codigpro), (codigpro), (numped), (numped), pro pro CONSTRAINT CONSTRAINT CHAR(25), CHAR(25), c_fecha c_fecha f_art f_art CHECK CHECK FOREIGN FOREIGN (fechaped<=fentrped)) KEY KEY (codigart) (codigart) REFERENCES REFERENCES Articulos Articulos (codigart)) (codigart)) procepro procepro CHAR(10) CHAR(10) NOT NOT NULL NULL CHECK CHECK (procepro (procepro in in ('UE', ('UE','No 'No UE'))) UE'))) Marta Zorrilla

19 IDD : ALTER TABLE. Ejemplos ALTER ALTER TABLE [dbo].[proveedores] ADD ADD CONSTRAINT [id_pro] [id_pro] PRIMARY KEY KEY CLUSTERED (([codigpro] )) ON ON [PRIMARY] GO GO ALTER ALTER TABLE [dbo].[pedidos] WITH WITH NOCHECK ADD ADD CONSTRAINT [DF_Pedidos_fechaped] DEFAULT (getdate()) FOR FOR [fechaped], CONSTRAINT [c_fecha] CHECK ([fechaped] <= <= [fentrped]), CHECK ([ivaped] > 0 and and [ivaped] < 100) 100) GO GO ALTER ALTER TABLE [dbo].[proveedores] ADD ADD CONSTRAINT [u_cif] [u_cif] UNIQUE NONCLUSTERED (([cifpro] [cifpro])) ON ON [PRIMARY],, CHECK ([cpostpro] like like '[0-9][0-9][0-9][0-9][0-9]'), CHECK ([procepro] = 'No 'No UE' UE' or or [procepro] = 'UE') 'UE') GO GO Marta Zorrilla

20 IDD VI : CREATE INDEX Para crear un índice nuevo en una tabla que ya existe en la base de datos. Su sintaxis es: CREATE [[ UNIQUE ]][[ CLUSTERED NONCLUSTERED ]] INDEX INDEXíndice ON ON {tabla {tabla vista vista }}(campo1 [[{ASC {ASC DESC DESC }] }][,[, campo2 [{ASC DESC}],...])...]) [[ WITH WITH < opción_índice > [[,...n],...n]]] [[ ON ON grupo_ficheros ]] < opción_índice > :: :: = {{ PAD_INDEX FILLFACTOR = factor_relleno IGNORE_DUP_KEY DROP_EXISTING STATISTICS_NORECOMPUTE SORT_IN_TEMPDB }} UNIQUE: UNIQUE: señala señala que que el el índice índice es es de de unicidad, unicidad, en en caso caso contrario contrario permitirá permitirárepetición repetición de de valores. valores. índice: índice: es es el el nombre nombre del del índice índice que que se se va va a a crear. crear. tabla/vista: tabla/vista: es es el el nombre nombre de de una una tabla/vista tabla/vista existente existente a a la la que que estará estaráasociado asociado el el índice. índice. campo1, campo1, campo2: campo2: son son los los nombres nombres de de los los campos campos que que van van a a formar formar el el índice. índice. Puede Puede ser ser un un solo solo campo. campo. Para Para forzar forzar una una ordenación ordenación descendente descendente de de un un campo, campo, hay hay que que utilizar utilizar la la palabra palabra reservada reservada DESC; DESC; sino sino se se especifica especifica o o se se escribe escribe ASC, ASC, se se entiende entiende que que la la ordenación ordenación es es ascendente. ascendente. CREATE INDEX INDEXFK_Lineas ON ONLineas (codigart) Marta Zorrilla

21 SQL Server 2005 Tabla del catálogo: sysindexes Índice cluster Índice no cluster Marta Zorrilla

22 Tipos de datos Consideraciones Consideraciones previas: previas: Qué tipo de información se va a almacenar. Por ejemplo, no se Qué tipo de información se va a almacenar. Por ejemplo, no se pueden guardar caracteres en un campo cuyo tipo de datos sea pueden guardar caracteres en un campo cuyo tipo de datos sea numérico. numérico. El espacio de almacenamiento necesario (dimensionar el campo). El espacio de almacenamiento necesario (dimensionar el campo). Qué tipo de operaciones se van a realizar con los valores del campo. Qué tipo de operaciones se van a realizar con los valores del campo. Pues, por ejemplo, no se puede calcular la suma de dos cadenas de Pues, por ejemplo, no se puede calcular la suma de dos cadenas de texto. texto. Si se desea ordenar o indexar por ese campo. Los criterios de Si se desea ordenar o indexar por ese campo. Los criterios de ordenación difieren en función del tipo de dato, así, los números ordenación difieren en función del tipo de dato, así, los números almacenados en un campo texto se ordenan según el valor de su almacenados en un campo texto se ordenan según el valor de su código ASCII (1,10,11,2,20,...) que no coincide con la ordenación código ASCII (1,10,11,2,20,...) que no coincide con la ordenación numérica. numérica. Marta Zorrilla

23 Tipos de datos en SQL Server 2005 I NUMÉRICOS bigint Datos enteros (números enteros) comprendidos entre -2^63 ( ) y 2^63-1 ( ). int Datos enteros (números enteros) comprendidos entre -2^31 ( ) y 2^31-1 ( ). smallint Datos enteros comprendidos entre 2^15 ( ) y 2^15-1 (32.767). tinyint Datos enteros comprendidos 0 y 255. bit Datos enteros con valor 1 ó 0. decimal Datos de precisión y escala numérica fijas comprendidos entre -10^38 +1 y 10^38 1. numeric Funcionalmente equivalente a decimal. money Valores de moneda comprendidos entre -2^63 ( ,5808) y 2^63-1 ( ,5807), con una precisión de una diezmilésima de la unidad monetaria. smallmoney Valores de moneda comprendidos entre ,3648 y ,3647, con una precisión de una diezmilésima de la unidad monetaria. float Números con precisión de coma flotante comprendidos entre -1,79E y 1,79E real Números con precisión de coma flotante comprendidos entre -3,40E + 38 y 3,40E Marta Zorrilla

24 Tipos de datos en SQL Server 2005 II FECHAS datetime Datos de fecha y hora comprendidos entre el 1 de enero de 1753 y el 31 de diciembre de 9999, con una precisión de 3,33 milisegundos. smalldatetime Datos de fecha y hora comprendidos entre el 1 de enero de 1900 y el 6 de junio de 2079, con una precisión de un minuto. CADENAS DE CARACTERES char Datos de caracteres no Unicode de longitud fija con una longitud máxima de caracteres. varchar Datos no Unicode de longitud variable con un máximo de caracteres. text Datos no Unicode de longitud variable con una longitud máxima de 2^31-1 ( ) caracteres. nchar Datos Unicode de longitud variable con una longitud máxima de caracteres. nvarchar Datos Unicode de longitud variable con una longitud máxima de caracteres. ntext Datos Unicode de longitud variable con una longitud máxima de 2^30-1 ( ) caracteres. Marta Zorrilla

25 Tipos de datos en SQL Server 2005 III BINARIOS binary Datos binarios de longitud fija con una longitud máxima de bytes. varbinary Datos binarios de longitud variable con una longitud máxima de bytes. image Datos binarios de longitud variable con una longitud máxima de 2^31-1 ( ) bytes. OTROS TIPOS DE DATOS cursor Una referencia a un cursor. sql_variant Un tipo de datos que almacena valores de varios tipos de datos aceptados en SQL Server, excepto text, ntext, timestamp y sql_variant. table Un tipo de datos especial que se utiliza para almacenar un conjunto de resultados para un proceso posterior. timestamp Un número único para toda la base de datos que se actualiza cada vez que se actualiza una fila. (sinónimo rowversion) uniqueiden Un identificador exclusivo global (GUID), necesario para replicación tifier xml Almacena una instancia de XML Marta Zorrilla

26 Tipo de dato Autonumérico: : IDENTITY IDENTITY [[(semilla,, incremento) ]] semilla: semilla: valor valor de de inicio. inicio. incremento: incremento: incremento incrementoque que se se aplica aplica CREATE TABLE TABLE dbo.herramientas( ID ID INT INT IDENTITY(1,1) NOT NOT NULL NULL PRIMARY KEY, KEY, Nombre VARCHAR(40) NOT NOT NULL NULL )) -- --insertamos valores valores INSERT INTO INTO dbo.herramientas (Nombre )) VALUES ( Martillo') INSERT INTO INTO dbo.herramientas (Nombre )) VALUES ( Taladro') -- --si si borramos, Martillo, se se pierde pierde el el ID ID Para Para reutilizarlo SET SET IDENTITY_INSERT dbo.tool ON ON INSERT INTO INTO dbo.herramientas (ID, (ID, Nombre) VALUES (1, (1, Serrucho') Marta Zorrilla

27 Tipos definidos por el usuario: CREATE TYPE CREATE TYPE TYPE [[ nombre_schema. ]] nombre {{ FROM FROM tipo_base [[(( precision [[,, escala escala ]])) ]] [[ NULL NULL NOT NOT NULL NULL ]] EXTERNAL NAME NAME assembly_name [[.class_name ]] }}[[; ;]] nombre: nombre: es es el el nombre nombre del del tipo tipo de de dato dato que que se se va va a a crear. crear. tipo_base: tipo_base: tipo tipo de de dato dato base base en en el el que que se se a`poya a`poya CREATE TYPE TYPEiva iva FROM FROMfloat NOT NOT NULL NULL ;; Marta Zorrilla

28 CREATE RULE y DEFAULT (no estándar) Para crear una regla para ser utilizada en un tipo de dato definido por el usuario en la base de datos. Su sintaxis es: CREATE RULE RULEnombre AS ASexpresion_condicional nombre: nombre: es es el el nombre nombre de de la la función función que que se se va va a a crear. crear. expresion_condicional: expresion_condicional: criterio criterio que que debe debe cumplir cumplir la la regla regla Para crear un valor por defecto utilizable en un tipo de dato definido por usuario en la base de datos. Su sintaxis es: CREATE DEFAULT nombre AS ASexpresion_constante nombre: nombre: es es el el nombre nombre de de la la función función que que se se va va a a crear. crear. expresion_constante: expresion_constante: valor valor Marta Zorrilla

29 CREATE RULE y DEFAULT: ejemplo Objetivo crear un tipo de dato definido por el usuario, denominado iva CREATE RULE RULEr_porcentaje AS and CREATE DEFAULT d_iva d_iva AS AS16 16 EXEC EXEC sp_addtype iva, iva, 'float', 'float','not 'notnull' null' go go EXEC EXEC sp_bindrule 'r_porcentaje', 'iva' 'iva' go go EXEC EXEC sp_bindefault 'd_iva', 'd_iva','iva' 'iva' Marta Zorrilla

30 Manipulación n de datos SQL Server 2005

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

32 IMD II : 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 vista 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

33 IMD III : UPDATE Permite modificar información existente en una o varias filas de una tabla. Su sintaxis es: UPDATE destino destinoset campo1=nuevovalor1 [, [, campo2=nuevovalor2 [, [,...]] [WHERE condición] destino: es el nombre de la tabla o vista 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

34 IMD IV : DELETE Permite eliminar una o varias filas de una tabla. Su sintaxis es: DELETE FROM FROM destino destino [WHERE condición] destino: es el nombre de la tabla o vista 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

35 IMD V : 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 UPDATE UPDATE Proveedores Proveedores SET SET 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

36 Datos Marta Zorrilla

37 Importación/Exportación n de datos Instrucción Instrucción INSERT INSERT / / SELECT SELECT Import/Export Import/Export data (sólo SQL Server 2005) data (sólo SQL Server 2005) Conexión Conexión ODBC/OLEDB ODBC/OLEDB Herramienta Herramienta Integration Integration Services Services o o Gráfica, Gráfica, basada basada en en objetos objetos o o Origen/destino Origen/destino de de datos datos (OLEDB, (OLEDB, ODBC) ODBC) o o Transformaciones Transformaciones más más complejas complejas Marta Zorrilla

38 IMD VI : 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 [INTOtabla_temporal] FROM FROMlista_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 }, },......] ]] Marta Zorrilla

39 IMD VII : SELECT predicado: puede tomar uno de los siguientes valores: ALL, DISTINCT o TOP número_de_filas (devuelve el número de registros especificado según una cláusula ORDER BY). Puede utilizar el predicado para limitar el número de registros devueltos. 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],...] funciones} 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. o funciones: funciones definidas por el usuario, anteponer el propietario. tabla_temporal: es el nombre de la tabla que se creará para almacenar los registros obtenidos. lista_de_tablas: representa el nombre de la tabla o las tablas que contienen los datos a los que se desea acceder. 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. Marta Zorrilla

40 IMD VIII : 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 n Externa De Comparación Con Predicado IN Con Predicado EXISTS Marta Zorrilla

41 IMD IX : SELECT Funciones de Grupo Funciones de Fecha Agrupamiento de Datos Condición n de Agrupamiento Ordenación n del Resultado Guardar Resultado en una Tabla Unión, n, Intersección n y Excepción n de Sentencias Uso de funciones almacenadas Marta Zorrilla

42 IMD X : 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 as as Nombre, telefpro telefpro as as Telf Telf FROM FROMProveedores Marta Zorrilla

43 IMD XI : SELECT Búsquedas Cualificadas. Cond. de Comparación 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

44 IMD XII : SELECT Búsquedas Cualificadas. Cond. de Comparación 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

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

46 IMD XIV : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación 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/2006 y el 15/9/2006. SELECT DISTINCT Proveedores.codigpro, nombrpro, direcpro, localpro FROM FROM Proveedores INNER INNER JOIN JOINPedidos ON ONProveedores.codigpro = Pedidos.codigpro WHERE fechaped BETWEEN '2006/01/20' AND AND '2006/09/15' Marta Zorrilla

47 IMD XIV : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación n Simple (Ejemplo. Continuación) n) SELECT DISTINCT Proveedores.codigpro, nombrpro, direcpro, localpro FROM FROM Proveedores INNER INNER JOIN JOIN Pedidos ON ONProveedores.codigpro = Pedidos.codigpro WHERE fechaped BETWEEN '2006/01/20' AND AND '2006/09/15' Información de proceso Marta Zorrilla

48 IMD XV : SELECT Búsquedas Cualificadas. Cond. de Combinación Combinación n Múltiple M (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/2006 y el 30/5/2006. 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 '2006/05/15' AND AND '2006/05/30' Marta Zorrilla

49 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

50 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

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

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

Lenguaje SQL TSQL 2008. Marta Zorrilla

Lenguaje SQL TSQL 2008. Marta Zorrilla Lenguaje SQL TSQL 2008 Marta Zorrilla Tabla de contenidos Introducción al SQL Estándares Caso de estudio: BD compras Tipos de datos Soportados por el gestor Definidos por el usuario Lenguaje de definición

Más detalles

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN. Tema 03. Lenguaje SQL.

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN. Tema 03. Lenguaje SQL. Bases de Datos Tema 03. Lenguaje SQL. T-SQL 2008 Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: Creative Commons

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

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h L1. ANSI SQL SQL, STANDS STRUCTURED QUERY LANGUAGE ANSI SQL 9 2 ESTANDARD SQL LENGUAJE DBMS RELACIONALES SQL SERVER 2005/2008, DBMS MICROSOFT TRANSACT SQL (T-SQL) LENGUAJE SQL SERVER 2005/2008 T-SQL SE

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

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

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

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

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

Í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

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

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

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

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. 1 2 Base de datos I, Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de

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

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

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación De Índices (L32) UNA TABLA PUEDE CONTENER VARIOS ÍNDICES SQL SERVER CREA AUTOMATICÁMENTE ÍNDICES ÚNICOS PARA ASEGURAR LOS CONSTRAINTS DE PRIMARY KEY Y UNIQUE EL ÍNDICE POR DEFECTO PARA LA CLAVE

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

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

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

Tipos de datos de campo disponibles en Access (MDB)

Tipos de datos de campo disponibles en Access (MDB) Tipos de datos de campo disponibles en Access (MDB) Nota La información recogida en este tema sólo se aplicará a bases de datos de Microsoft Access (.mdb). La siguiente lista resume todos los tipos de

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

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ÍNDICE INTRODUCCIÓN 3 PASOS PARA IMPLEMENTAR UNA BD 5 CREAR UNA BD 6 SENTENCIA CREATE 8 LIGADURAS 9 ELIMINACIÓN DE TABLAS 14 SENTENCIA

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

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

Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS. Docente : ING. FREDY RIVERA MONTERO

Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS. Docente : ING. FREDY RIVERA MONTERO Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS Docente : ING. FREDY RIVERA MONTERO Características y conceptos básicos Historia del lenguaje SQL El nacimiento del lenguaje SQL data de 1970 cuando E. F.

Más detalles

2- Creación de tablas y manejos de datos.

2- Creación de tablas y manejos de datos. 2- Creación de tablas y manejos de datos. Objetivos: Crear tablas completas. Identificar qué tipo de datos a usar en cada campo Recursos: SQL SERVER 2012 Guías de práctica. http://msdn.microsoft.com/es-es/library/ms187752.aspx

Más detalles

Objetos de la Base de Datos

Objetos de la Base de Datos Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Introducción... XIII Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Novedades y mejoras en SQL Server 2008 R2... 1 Novedades... 1 Mejoras... 3 Ediciones y componentes en SQL Server

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

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

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 4 1 INSAFOR Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL para crear base de datos y tablas Crear una base de datos con

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

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

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

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

Administración y programación de Bases de Datos con SQL Server 2005

Administración y programación de Bases de Datos con SQL Server 2005 Administración y programación de Bases de Datos con SQL Server 2005 Este curso trata las diferentes tareas necesarias para llevar a cabo el despliegue, diseño, implementación y mantenimiento de bases de

Más detalles

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1 Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER GUÍA 2 Pág. 1 I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores

Más detalles

MySQL 5.0. Sistemas informáticos II

MySQL 5.0. Sistemas informáticos II 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 Tabla de contenidos Introducción a MySQL

Más detalles

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

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

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

Módulo II: Introducción

Módulo II: Introducción Módulo II: Introducción Bases de Datos Trabajo con un SGBDR Creación de Bases de Datos Maximiliano Odstrcil - 1 Bases de Datos Tipos de Bases de Datos Objetos de Bases de Datos Maximiliano Odstrcil - 2

Más detalles

BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER

BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER 2005 3 C O N T E N I D O 1. Tipos de datos 2. Variables 3. Operadores 4. Controles O B J E T I V O S Proporcionar al lector

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

GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES:

GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES: GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES: Ernesto Chinkes Diego Alarcon Regolini Lucas Coronel Diego Hernan Contreras Ocampo Ernesto Goldman GUIA

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

2.5.- El lenguaje estándar SQL

2.5.- El lenguaje estándar SQL 25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características

Más detalles

SISTEMA DE DATOS CURSO: ERNESTO CHINKES FACULTAD DE CIENCIAS ECONOMICAS UNIVERSIDAD DE BUENOS AIRES GUIA: SQL GUIA DE SQL

SISTEMA DE DATOS CURSO: ERNESTO CHINKES FACULTAD DE CIENCIAS ECONOMICAS UNIVERSIDAD DE BUENOS AIRES GUIA: SQL GUIA DE SQL GUIA DE SQL -DDL (DATA DEFINITION LANGUAGE) -DML (DATA MANIPULATION LANGUAGE) Agosto de 2007 AUTORES: Ernesto Chinkes Diego Alarcon Regolini Lucas Coronel Diego Hernan Contreras Ocampo Ernesto Goldman

Más detalles

MS_20461 Querying Microsoft SQL Server

MS_20461 Querying Microsoft SQL Server Gold Learning Gold Business Intelligence Silver Data Plataform www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. Este curso proporciona a los estudiantes las habilidades

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

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

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

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

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

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

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona con

Más detalles

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

Más detalles

Tema 3 Modelo relacional

Tema 3 Modelo relacional Contenido: Bases de Datos y Sistemas de Información Ing. Informática GRUPO A Tema 3 Modelo relacional 3.1 Terminología del modelo relacional 3.2 Paso del modelo ER al modelo relacional 3.3 Creación de

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales * Definición de datos en SQL * Consulta de datos en SQL - Estructura básica de una sentencia

Más detalles

8283: Administración y programación en Microsoft SQL Server 2012

8283: Administración y programación en Microsoft SQL Server 2012 8283: Administración y programación en Microsoft SQL Server 2012 Este curso es orientado a los profesionales en desarrollo que desean maximizar la participación de SQL Server 2012 en beneficio del desempeño

Más detalles

Índice. iii. Objetivos... 24

Índice. iii. Objetivos... 24 Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama

Más detalles

Creación de tipos de datos y tablas

Creación de tipos de datos y tablas Creación de tipos de datos y tablas Contenido Introducción 1 Creación de los tipos de datos 2 Creación de tablas 9 Generación de valores de columnas 18 Generación de secuencias de comandos 22 Creación

Más detalles

Base de Datos Nortwind

Base de Datos Nortwind Base de Datos Nortwind Resumen del desarrollo de la práctica. Analizar la información almacenada en la base de datos NorthWind haciendo uso de las distintas funciones de MS-SQL server. Desarrollo de la

Más detalles

Implementación de la integridad de datos

Implementación de la integridad de datos Implementación de la integridad de datos Contenido Introducción 1 Tipos de integridad de datos 2 Exigir integridad de los datos 3 Definición de restricciones 4 Tipos de restricciones 9 Deshabilitación

Más detalles

Bases de Datos Relacionales. Conceptos y consideraciones para su uso.

Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Dra. Marta E. Zorrilla Departamento de Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria Bases de de Datos.

Más detalles

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA.

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA. BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA. La creación y manipulación de tablas Tipos de datos en SQL Operadores y condiciones lógicas La sentencia CREATE TABLE Estructura general Uso simplificado

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

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

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE SISTEMAS COMPUTACIONALES SYLLABUS. Base de Datos II CODIGO COM 338 CREDITOS 3

UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE SISTEMAS COMPUTACIONALES SYLLABUS. Base de Datos II CODIGO COM 338 CREDITOS 3 UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE SISTEMAS COMPUTACIONALES SYLLABUS MATERIA Base de Datos II CODIGO COM 338 CREDITOS 3 PRE-REQUISITO No Tiene PERIODO LECTIVO Curso Intensivo - 2013 HORAS PRESENCIALES

Más detalles

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL

Más detalles

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS 1.- INTRODUCCIÓN...1 2.- BASE DE DATOS (DATABASE)...2 3.- DOMINIOS (DOMAIN)...4 4.- TABLAS (TABLE)...6 5.- INDICES (INDEX)...15

Más detalles

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1) A LAS BASES DE DATOS (L1) VENTAJAS TECNOLOGÍA BASE DE DATOS DISPONIBILIDAD Y VISIBILIDAD ALMACENAMIENTO CONSULTAS INFORMACIÓN RESPALDOS Y RESTAURACIÓN CONCEPTOS DE INTEGRIDAD DE LOS DATOS ELIMINACIÓN REDUNDANCIA

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

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

ADMINISTRACION DE BASES DE DATOS EN ORACLE

ADMINISTRACION DE BASES DE DATOS EN ORACLE SQL LENGUAJE ESTRUCTURADO DE CONSULTA El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un modelo de datos relacional para grandes bancos de datos compartidos". Ese libro

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO: 01-2012 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO # 4 Nombre de la Practica: Continuación de Instrucciones Fundamentales de T-SQL, Creación

Más detalles

TEMA. Sistema de Gestión de Bases de Datos. Sistemas Avanzados de Recuperación de Información (SARI) 2008-2009

TEMA. Sistema de Gestión de Bases de Datos. Sistemas Avanzados de Recuperación de Información (SARI) 2008-2009 TEMA Sistema de Gestión de Bases de Datos Sistemas Avanzados de Recuperación de Información (SARI) 2008-2009 Jorge Morato Lara Sonia Sánchez- Índice 1. Tema - Recuperación de la Información en Internet

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

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

3ra. Parte. Bases de Datos Relacionales

3ra. Parte. Bases de Datos Relacionales 3ra. Parte Bases de Datos Relacionales Lenguaje de consulta SQL Proyección Tabla 1 Selección Tabla 1 Tabla 1 Tabla 2 Unión Lenguaje SQL SELECT SELECT [TOP expresión [PERCENT] [ WITH TIES ] ]

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

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

Implementación n de Base de Datos con Microsoft SQL Server 2000. Ing. Martín Manuel Leiva Castillo Ing. Jorge Martín Rodríguez Castro

Implementación n de Base de Datos con Microsoft SQL Server 2000. Ing. Martín Manuel Leiva Castillo Ing. Jorge Martín Rodríguez Castro Implementación n de Base de Datos con Microsoft SQL Server 2000 Ing. Martín Manuel Leiva Castillo Ing. Jorge Martín Rodríguez Castro Visión general de SQL Server Contenido 1. Qué es SQL Server 2000? 2.

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

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera)

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera) SQL Lenguaje de Consulta Estructurado Curso básico de SQL (Leire Urcola Carrera) Indice de contenidos Introducción Consultas de Selección Criterios de Selección Agrupamiento de Registros y funciones agregadas

Más detalles

ANSI SQL El lenguaje SQL...2 Componentes del lenguaje SQL...3 Tablas...7 Índices...11 Vistas...13 Consultar datos. SELECT...15

ANSI SQL El lenguaje SQL...2 Componentes del lenguaje SQL...3 Tablas...7 Índices...11 Vistas...13 Consultar datos. SELECT...15 ANSI SQL El lenguaje SQL...2 Componentes del lenguaje SQL...3 Tipos de datos. Operadores Palabras Clave Funciones Agregadas Predicados Tablas...7 Nomenclatura Creación de tablas Modificación de tablas

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

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

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

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

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

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1 CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1 Introducción... 3 Consultas Básicas... 3 Consultas de Selección... 3 Consultas de Modificación... 7 Consultas de Combinación... 9 Consultas

Más detalles