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 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

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

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

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

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

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

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

Í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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Í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

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 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

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

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

: 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.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

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

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. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

Más detalles

Repaso de Conceptos Básicos de Bases de Datos

Repaso de Conceptos Básicos de Bases de Datos escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos

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

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

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

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

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

Práctica 3. Consultas SQL

Práctica 3. Consultas SQL Práctica 3. Consultas SQL 1. Enunciado En este ejercicio se realizarán consultas SQL que respondan a las preguntas que se plantearán sin utilizar QBE. Dada una base de datos denominada Empresa y definida

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

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

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

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

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

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

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: 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

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

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

Í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

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs.

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs. Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER Duración : 35 Hrs. Sobre este curso Este curso de 5 días impartido por un instructor proporciona a estudiantes con las habilidades técnicas necesarias

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

- 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

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

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

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

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

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

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

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

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

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

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

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

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

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4. TABLAS A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4.1. Principales Elementos Al momento de generar y diseñar una tabla es importante

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

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

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Contenido Introducción 1 Qué es una función definida por el usuario? 2 Definición de funciones definidas por el usuario 3 Ejemplos de funciones definidas

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

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar / S Q Lenguaje de Consulta Estructurado L Wael Najjar / Wael Stephenson Najjar / Prieto Stephenson Prieto Contenido Parte I El Lenguaje de Consulta Estructurado. Lo que se puede hacer. Lenguaje Estandarizado.

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

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

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

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

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

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

Í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

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

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

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

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

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

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

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

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles