Tablas, TDU, vistas, indices, reglas, defaults
|
|
- Milagros Córdoba Saavedra
- hace 6 años
- Vistas:
Transcripción
1 Tablas, TDU, vistas, indices, reglas, defaults
2 SQL (Structured Query Language) SQL lenguaje usado para definir, manipular, y controlar bases de datos relacionales Definido por ANSI (American National Standards Institute) Comandos SQL se pueden dividir en tres categorías: DDL (Data definition language) create, alter, drop DML (Data manipulation language) select, insert, update, delete DCL (Data control language) grant, revoke
3 Creación de Tablas
4 Diseño de Tablas Una Tabla es un objeto de base de datos que almacena datos en filas y columnas Antes de crear una tabla, se debe diseñar su estructura: 1. Darle nombre a la tabla y a cada columna 2. Seleccionar un tipo de dato para cada columna 3. Escoger las propiedades de cada columna
5 Datatype Un tipo de datos (datatype) es un atributo asignado a una columna que especifica el tipo de información que puede almacenarse en esa columna
6 Seleccionar Datatypes Para seleccionar el datatype de una columna: 1. Determinar el conjunto posible de valores 2. Determinar la precisión requerida 3. Encontrar el datatype que: Pueda guardar todos los posibles valores Proporcione la exactitud y precisión requeridas Use eficientemente el almacenamiento Facilite el futuro crecimiento
7 Categorías de Datatypes Números exactos Números con exactitud y precisión predecibles Números aproximados Números con valores dependiendo de exactitud y precisión del almacenamiento Money Valores para pesos Date y time Valores de fechas y horas Character Para strings caracteres Binary Información binaria (como imágenes, video y bits)
8 Ejemplos de Datatypes por Categorías Números exactos integer, numeric (p,s), decimal (p,s) Números aproximados float (p), real, double precision (dependientes de máquina) Money money Date y time datetime Character char (n), varchar (n), text Binary bit, binary, varbinary, image
9 Datatypes definidos por el Usuario Un datatype definido por el usuario es un datatype creado por el usuario de un datatype del sistema Muy útil para asegurar consistencia de múltiples columnas que almacenan el mismo conjunto de valores
10 Propiedades de las Columnas Una columna puede tener una de las siguientes propiedades: NULL NOT NULL IDENTITY Si no se especifica, generalmente se asume NOT NULL
11 Valores tipo NULL Un NULL representa un valor desconocido o que no aplica Para valores numéricos, NULL no es igual a 0 Para caracteres, NULL no es igual a '' '' (caracter en blanco) NULL no se considera considera menor que, mayor que, o igual a cualquier otro valor Dos NULL no se consideran iguales
12 Propiedades de NULL Una columna con la propiedad NULL permite NULLs Esto se conoce como nullable column Una columna con la propiedad NOT NULL no permite NULLs Una columna que no se le especifique esta propiedad asume que permite NULLs
13 Propiedad IDENTITY La propiedad IDENTITY hace que el sistema asigne automáticamente valores únicos a cada fila Cuando se insertan datos en una tabla, el servidor automáticamente asigna un número secuencial a la columna que tiene la propiedad de IDENTITY
14 Reglas para columnas con IDENTITY Sólo puede existir una por tabla Debe de ser de tipo numérico sin posiciones decimales No se puede actualizar No acepta valores tipo NULL Inicia por default en 1 Se puede asignar un valor de arranque
15 Crear Tablas Sintaxis Simplificada para create : CREATE TABLE table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] )
16 Crear Tabla create table empleado ( emp_id apellido nombre numeric(4,0) IDENTITY, varchar(30) NOT NULL, varchar(30) NOT NULL, e_mail char(6) NULL, departamento typ_ch_deptid )
17 Borrar Tablas Sintaxis Simplificada para drop: DROP TABLE table_name Ejemplo: drop table empleado
18 Cláusula default La cláusula default hace que el servidor dé un valor cuando el valor no se proporciona explícitamente al hacer un insert Sintaxis Simplificada : create table table_name ( column_name datatype default default_value [property],...)
19 Modificación de cláusulas default Sintaxis Simplificada: alter table table_name replace column_name default default_value A pesar de que la sintaxis usa la palabra replace, el comando alter table se puede usar para añadir cláusulas default a una tabla
20 Ejemplo de modificación de cláusulas default alter table publica replace ciudad default Cali" alter table publica replace depto default Valle
21 Tablas y Permisos Para permitir que otros usuarios puedan consultar, manipular los datos o hacer referencia a una tabla, se deben dar permisos Sintaxis Simplificada: grant { select insert update delete reference all } on table_name to user_list Ejemplo: grant select on empleado to juan, sandra, pablo
22 Adición de Columnas Después de creada una tabla, se pueden añadir columnas Algunos DBMS no permiten borrar directamente una columna de una tabla Para borrar una columna, se debe borrar y volver a crear la tabla Sintaxis para añadir una columna a una tabla: alter table table_name add column_name datatype NULL [, column_name datatype NULL...] Todas las columnas añadidas deben tener la propiedad NULL.
23 Adicionar Columnas alter table editor add address varchar(40) country varchar(20) NULL, NULL
24 Copiar Tablas select into es una extensión que se usa para crear una copia de una tabla existente
25 Sintaxis de select into Sintaxis Simplificada : select column_list into new_table_name from old_table_name [where condition]
26 Ejemplos de select into Ejemplo de copiado de todas las columnas: select * into titles_copy from titles Ejemplo de copiado de algunas columnas : select title_id, title, type into titles_copy from titles
27 Ejemplos de select into Ejemplo que copia algunos datos: select * into titles_copy from titles where price > $12.00 Ejemplo que no copia datos: Porque la cláusula where siempre da falso, se copia la estructura de la tabla pero no sus datos select * into titles_copy from titles where 1 = 2
28 Data Manipulation Language DML es uno de los tres grupos principales de sentencias SQL Comprende cuatro sentencias: insert añade datos a una tabla update actualiza datos existentes en una tabla delete borra datos de una tabla select consulta datos de una tabla
29 Sintaxis para insert sintaxis Simplificada: insert [into] table_name [(column_list)] { values (value_list) select_statement } Ejemplos: insert into editor values ("736", Nuevas BD", Pasto", Nariño") insert into editor (nombre, pub_id) values ( Prensa Actual", "2003 )
30 Extensión SQL para insert Se pueden insertar múltiples filas en un solo insert utilizando un select embebido Ejemplo: insert into editor select * from pub..editor Las columnas en las que se van a insertar datos deben tener los mismos tipos de datos que resulten de las columnas del query
31 Sintaxis para update Sintaxis Simplificada : update table_name set column1 = { expression select_statement } [, column2 = { expression select_statement }...] [from table_list] [where condition] Ejemplos: update titles set price = price * $1.25 update authors set address = "1224 Mason Ct.", phone = " " where au_id = " "
32 Extensión para update Se pueden encadenar condiciones en la cláusula where de un update Ejemplo: update titulo set precio = precio * $0.90 from titulo t, editor p where t.pub_id = p.pub_id and p.state = Nariño"
33 Sintaxis para delete Sintaxis Simplificada: delete [from] table_name [where condition] Ejemplos: delete from editor delete from titulo where tipo = "business" delete from autor where au_fname = "Luis" and au_lname = Caicedo"
34 Extensión para delete Se pueden encadenar condiciones en la cláusula where de un delete Sintaxis simplificada : delete table_name from table_list [where join_condition] Ejemplo delete titles from titles t, publishers p where t.pub_id = p.pub_id and p.state = "CA"
35 truncate table truncate table borra todas las filas de una tabla La operación se ejecuta más rápido que la correspondiente sentencia delete El comamdo no se puede usar para borrar algunas filas de la tabla Sintaxis simplificada: truncate table table_name Ejemplo: truncate table publishers
36 Registro de Transacciones (Log) El registro de transacciones se utiliza para recuperar los datos en el evento de un error del usuario o falla del sistema Actúa ante cada insert, update, y delete Algunas operaciones no se registran Ejemplo de operaciones sin registro: select into truncate table
37 Select La sentencia select consulta datos Sintaxis simplificada: select column_list from table_name [where condition] [group by column_list] [having condition] [order by column_list] Ejemplo: select type, avg(price) from titles where type not in ("mod_cook", "trad_cook") group by type having avg(price) > $12.00 order by type
38 Vista Una vista es un objeto de base de datos que consiste de una sentencia select almacenada Usada para: Simplificar la construcción de consultas complejas Simplificar al usuario la percepión de la base de datos Limitar el acceso a los datos
39 Crear y borrar vistas Sintaxis Simplificada para crear una vista : create view view_name [(column1 [, column2...]) as select_statement [with check option] Ejemplo: create view vw_california_authors as select au_id, au_lname, au_fname, state, phone from authors where state = "CA" Sintaxis simplificada para borrar una vista: drop view view_name Ejemplo: drop view vw_california_authors
40 Vistas y permisos Para permitir que otros utilicen una vista, se deben dar permisos: grant [ select insert update delete all ] on view_name to user_list Ejemplo: grant select on vw_california_authors to clerk1, clerk2, clerk3, clerk4
41 Consultar datos usando vistas Para consultar datos usando vistas, usar el nombre de la vista como si se tratara de una tabla Ejemplo: select * from vw_california_authors au_id au_lname au_fname state phone White Johnson CA Green Marjorie CA Carson Cheryl CA O'Leary Michael CA Straight Dick CA (15 rows affected)
42 Modificar datos usando vistas Se pueden modificar datos usando vistas si: Todas las columnas involucradas están en una tabla Todas las columnas no usadas en la vista ni permiten NULLs, contienen la cláusula default o contienen columnas con IDENTITY Ejemplo: insert into vw_california_authors values (" ", "Chen", "Rose", "CA", " ") Se pueden actualizar datos usando vistas si: Todas las columnas involucradas están en una tabla Se pueden borrar datos usando vistas si: La vista está basada en una sola tabla Ejemplo: delete from vw_california_authors where au_lname = "Hunter"
43 Usar vistas para simplificar el acceso Las vistas pueden simplificar el acceso a los datos almacenando las consultas complejas (tales como joins) Ejemplo: create view vw_pub_title_join (publisher, title) as select pub_name, title from publishers, titles where publishers.pub_id = titles.pub_id go select * from vw_pub_title_join pub_name title New Age Books You Can Combat Computer Stress New Age Books Is Anger the Enemy?...
44 Usar vistas para restringir acceso Una vista puede permitir a los usuarios acceder a una parte de la tabla cuando el acceso al contenido total de la tabla está restringido create view vw_california_authors as select au_id, au_lname, au_fname, state, phone from authors where state = "CA" go grant all on vw_california_authors to public revoke all on authors from public
45 Opción with check with check option restringe cómo se pueden modificar las filas. Una operación falla si: Tratar de insertar filas que las vista no puede ver Tratar de modificar filas que las vista no puede ver Ejemplo: create view vw_kansas_authors as select au_id, au_lname, au_fname, state, phone from authors where state = "KS" with check option Ejemplo de modificación que da error: update vw_kansas_authors set state = "MO" where state = "KS"
46 Reglas para vistas La definición de una vista puede incluir: Una cláusula where Una columna con valores calculados (ej. precio * cant) Funciones Agregadas, una cláusula group by, y una cláusula having distinct Un join Otra vista (hasta 16 niveles) Una definición de una vista no puede incluir: Una cláusula order by Una cláusula compute o compute by select into
47 Ejemplos con vistas Crear dos tablas: select * into mytitles from pubs2..titles select * into mypublishers from pubs2..publishers Crear vista que muestra titles y sus publishers vía un join: create view vw_titles_pubs (title, publisher) as select title, pub_name from mytitles, mypublishers where mytitles.pub_id = mypublishers.pub_id Usar la vista para mostrar los titles y sus publishers: select * from vw_titles_pubs
48 Ejecute las siguientes sentencias, cuáles pueden o no fallar. Si la Sentencia falla, explique por qué: select price from vw_titles_pubs update vw_titles_pubs set publisher = "New Millenium Books" where publisher = "New Age Books" insert into vw_titles_pubs values ("Life in Houston", "TexTitles") Borrar los objetos creados: drop view vw_titles_pubs drop table mytitles, mypublishers
49 Table scan Un table scan es una búsquda en donde se leen todas las filas de una tabla Una tabla que no tenga índices creados, solamente puede hacer búsquedas a través de un table scan
50 Indices Un índice es un objeto de base de datos que ayuda al servidor a encontrar un dato más rápidamente
51 Estructura de un Indice : Caso de Estudio key Bennet Karsen Smith row ptr PAGE PAGE , , , pg ptr key Bennet Greane Hunter Index pages row ptr PAGE PAGE , , , pg ptr PAGE PAGE Karsen 1876, (more pages) create index idx_authors_2 on authors(au_lname) PAGE PAGE Bennet 1421, 1 Chan Dull 1129, , 1 Edwards 1018, 5 PAGE PAGE Greane 1242, 4 Green Greene 1421, , 2 PAGE PAGE Hunter 1242, 1 Jenkins 1241, 4 (more pages) authors table (data pages) PAGE PAGE O Leary 11 Ringer 12 White 13 Jenkins PAGE PAGE Hunter 15 Smith 16 Ringer 17 Greane PAGE PAGE Bennet 19 Green 20 Ringer PAGE PAGE Dull 22 Greene 23 White (more pages)
52 Crear y borrar índices Sintaxis simplificada para create : create [unique] [ clustered nonclustered ] index index_name on table_name (column1 [, column2]... ) Ejemplo: create clustered index idx_c_titles_1 on titles (title_id) Sintaxis Simplicada para drop : drop index table_name.index_name Ejemplo: drop index titles.idx_c_titles_1
53 Atributos de los índices Tres atributos describen cada índice El número de columnas sobre las cuales se declara el índice Una columna índice no-compuesto Múltiples columnas - índice compuesto Si el índice acepta o no valores duplicados Se permiten valores duplicados - índice no-único No se permiten valores duplicados - índice único Si están o no ordenados los datos en la tabla por el concepto del índice cuando la tabla se crea Datos ordenados durante la creación - índice cluster Datos no ordenados durante la creación - índice no-cluster
54 Indice no-compuesto Un índice no-compuesto es un índice creado sobre una columna Ejemplo: create index idx_authors_2 on authors(state) Apropiado cuando las consultas se hacen frecuentemente sobre una sola columna Ejemplo: select * from authors where state = "UT"
55 Indice compuesto Un índice compuesto es un índice creado sobre dos o más columnas Ejemplo: create index idx_authors_3 on authors(au_lname, au_fname) Apropiado cuando las consultas se hacen sobre múltiples columnas Ejemplo: select * from authors where au_lname = "Ringer" and au_fname = "Anne"
56 Indice no-único Un Indice No-único es un índice que permite valores duplicados Ejemplo: create index idx_authors_2 on authors(state) Apropriado cuando las consultas se hacen sobre valores duplicados Ejemplo: select * from authors where state = "UT"
57 Indice único Un índice único es un índice que no permite valores duplicados Ejemplo: create unique index idx_u_authors_1 on authors(au_id) Apropiado cuando cada valor en la columna indizada debe ser único Ejemplo: select * from authors where au_id = " " Puede ser creado solamente sobre columnas que no tengan valores duplicados
58 Indice no-cluster Un índice no-cluster es un índice que utiliza un concepto de ordenamiento diferente a como se realizó el almacenamiento de la tabla Ejemplo: create nonclustered index idx_authors_4 on authors(state) Una tabla puede tener muchos índices no-cluster Apropiado para: Tablas que ya tienen un índice cluster
59 Estructura de un índice no-cluster key Bennet Karsen Smith row ptr 1876, , 1 pg ptr PAGE PAGE , key Bennet Greane Hunter Index pages root level intermediate level leaf level row ptr PAGE PAGE , , , pg ptr PAGE PAGE Karsen 1876, (more pages) create index idx_authors_2 on authors(au_lname) key PAGE PAGE Bennet 1421, 1 Chan Dull 1129, , 1 Edwards 1018, 5 PAGE PAGE Greane 1242, 4 Green Greene 1421, , 2 PAGE PAGE Hunter 1242, 1 Jenkins row ptr 1241, 4 (more pages) authors table (data pages) PAGE PAGE O Leary 11 Ringer 12 White 13 Jenkins PAGE PAGE Hunter 15 Smith 16 Ringer 17 Greane PAGE PAGE Bennet 19 Green 20 Ringer PAGE PAGE Dull 22 Greene 23 White (more pages)
60 Indice cluster Un índice cluster es un índice que, cuando se crea, indica cómo están físicamente almacenados los datos en la tabla Ejemplo: create clustered index idx_c_authors_1 on authors(au_id) Una tabla sólo puede contener un índice cluster Típicamente mejora el rendimientos de las consultas que se hacen a una tabla Consultas con valor único (where state = ''CA'') Consultas por rango de valores (where price > $10.00) Puede dismuir el rendimiento en operaciones de modificación de los datos de una tabla Esta reducción se debe a que se deben almacenar físicamente los datos ordenados
61 Etructura de un índice cluster key Bennet Karsen Smith root level PAGE PAGE pg ptr key Bennet Greane Hunter Index pages intermediate level PAGE PAGE pg ptr PAGE PAGE Karsen 1409 authors table (leaf/data pages) PAGE PAGE Bennet 11 Chan 12 Dull 13 Edwards PAGE PAGE Greane 15 Green 16 Greene 17 PAGE PAGE Hunter 19 Jenkins 20 (more pages) create clustered index idx_authors_2 on authors(au_lname) PAGE PAGE Karsen 22 O'Leary 23 Ringer (more pages)
62 Escritura de consultas que usen índices Los índice se usan solamente cuando una consulta hace referencia a columna(s) indizada(s) en la cláusula where Si una tabla: Tiene dos columnas, y Cualquiera puede identificar una fila desada, y Una columna está indizada mientras la otra no, entonces Se debe utilizar la columna indizada en la cláusula where de la consulta
63 Tabla temporal Una tabla temporal es a tabla que eventualmente la borra el servidor sin que se ejecute la sentencia drop table Típicamente existen dos tipos de tablas temporales: Compartidas (Shareable) De sesión específica
64 Uso de tablas temporales Uso de tablas temporales: Por el usuario: Para guardar resultados de consultas muy complejas Para almacenar resultados intermedios (por ejemplo de stored procedure) Por el sistema: Para almacenar resultados intermedios de consultas que requieren ordenamiento o eliminación de valores Para almacenar resultados intermedios de consultas que tienen la cláusula compute o agregadas
65 Tablas del sistema Una tabla del sistema es una tabla creada y mantenida por el servidor que almacena información acerca del servidor o de sus bases de datos
66
67 Integridad de datos Tres tipos de integridad ayudan a garantizar que los datos son correctos integridad a nivel de dominio Asegura que cualquier valor en una columna está dentro del conjunto de valores válidos para esa columna integridad a nivel de entidad Asegura que cualquier fila de una tabla puede identificarse inequívocamente integridad referencial Asegura que un determinado valor no puede escribirse en una tabla si ese valor no existe en otra tabla
68 Dos métodos para forzar integridad Domain Integrity Entity Integrity Referential Integrity Constraints Database Objects Check constraints Primary key constraints, unique constraints References constraints Rules Indexes Triggers
69 Constraint Un constraint es un elemento de la sentencia create table que forza uno de los tres tipos de integridad de datos Declarada a nivel de columna o de tabla Los constraints también se conocen como declarative integrity
70 Integridad a nivel de dominio La integridad a nivel de Dominio asegura que cualquier valor en una columna está dentro del conjunto de valores aceptables para esa columna
71 Restricción Check Un check constraint forza integridad a nivel de Dominio durante las adiciones y actualizaciones Si una sentencia contiene un valor que no concuerda con los permitidos, la sentencia falla
72 Restricción check a nivel de columna Sintaxis Simplificada: create table table_name ( column_namedatatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] check (condition_using_column_name),... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table publishers ( pub_id char(4) NOT NULL constraint chk_pub_id check (pub_id like "99[0-9][0-9]"), pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL )
73 Nombre de restricción a nivel de columna Si un usuario no da el nombre de una restricción a nivel de columna, el servidor genera uno Para simplificar la administración, el usuario debería escribir el nombre de todos los constraints El nombre de un Constraint debe ser único a nivel de la base de datos
74 Restricción a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatyp [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ], [constraint constraint_name] check (condition_involving_any_column_or_columns) ) Ejemplo: create table discounts ( discounttype varchar(40) NOT NULL, stor_id char(4) NULL, lowqty smallint NULL, highqty smallint NULL, discount float NOT NULL, constraint chk_low_high check (lowqty <= highqty) )
75 Restricciones y defaults Los servidores permiten que una tabla tenga default y check sin que haya contradicción Ejemplo (cualquier insert que use el default fallará): create table publishers ( pub_id char(4) NOT NULL, pub_name varchar(40) NULL, city varchar(20) default "Tulsa" NULL, state char(2) default "OK" NULL, constraint chk_state check (state in ("CA", "OR", "WA", "NV")) ) insert into publishers (pub_id, pub_name) values ("9909", "Failed Imprints")
76 Integridad a nivel de entidad La integridad a nivel de entidad asegura que cada fila de una tabla está identificada de manera inequívoca
77 Primary key Combinación de una o más columnas que identifican de manera inequívoca una fila en una tabla
78 Restricción primary key Una restricción primary key asegura integridad a nivel de entidad Crea un índice único sobre la columna(s) especificada(s) Se asegura integridad en los inserts y updates Sólo puede existir una llave primaria por tabla
79 Indices creados por primary key Unico Cluster No permite valores NULL en la(s) columna(s) No se puede borrar usando la sentencia drop index
80 Primary key a nivel de columna Sintaxis Simplificada: create table table_name ( column_name datatype [ NOT NULL IDENTITY ] [constraint constraint_name] primary key [clustered nonclustered],... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table publishers ( pub_id char(4) NOT NULL constraint pky_c_pub_id primary key, pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL )
81 Primary key a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] primary key (column1 [, column2...]) ) Ejemplo: create table sales ( ) stor_id char(4) NOT NULL, ord_num varchar(20) NOT NULL, date datetime NOT NULL, constraint pky_c_storid_ordnum primary key (stor_id, ord_num)
82 Restricción unique Una restricción unique forza integridad a nivel de entidad Crea un índice único sobre la columna(s) specificada(s) Asegura integridad durante los inserts y updates Las tablas pueden tener más de una restricción tipo unique
83 Indices creados con restrición unique Unico No-cluster por default Permite el uso de valores tipo NULL No se puede borrar usando la sentencia drop index
84 Restricción unique a nivel de columna Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] unique [clustered nonclustered],... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table publishers ( pub_id char(4) NOT NULL, pub_name varchar(40) NULL constraint unq_pub_name unique, city varchar(20) NULL, state char(2) NULL )
85 Restricción unique a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] unique (column1 [, column2...]) ) Ejemplo: create table sales ( ) stor_id char(4) NOT NULL, ord_num varchar(20) NOT NULL, date datetime NOT NULL, constraint unq_stor_id_ord_num unique (stor_id, ord_num)
86 Restricciones primary key vs unique What is the default type of index? How many NULL values does it allow? Can you have more than one per table? Primary Key Constraint Clustered None No Unique Constraint Nonclustered One Yes
87 Integridad referencial Integridad referencial asegura un valor no se puede almacenar en una tabla a menos que él exista en otra tabla (o es NULL) Ejemplo: A publisher ID cannot be entered in the titles table unless it exists in the publishers table
88 Foreign key Una foreign key es una combinación de una o más columnas que corresponde(n) a la llave primaria de otra tabla
89 Restricción referencial Una restricción referencial forza integridad referencial La integritdad se asegura en inserts, updates, y deletes Si un insert o update contiene valores de foreign key que no existen en la(s) column(s) primary key, la sentencia falla Si un update o delete va a quitar un valor de primary key que tiene valores foreign key existentes, la sentencia falla
90 Restricción referencial a nivel de columna Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] references table_name (primary_key_column),... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table titles ( title_id char(6) NOT NULL, title varchar(80) NULL, pub_id char(4) NULL constraint ref_pub_id references publishers (pub_id), notes varchar(200) NULL )
91 Restricción referencial a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ], [constraint constraint_name] foreign key (list_of_columns_from_this_table) references table_name (primary_key_column_list) ) Ejemplo: create table salesdetail ( stor_id char(4) NOT NULL, ord_num varchar(20) NOT NULL, title_id char(6) NOT NULL, qty smallint NOT NULL, discount float NOT NULL, constraint ref_sales foreign key (stor_id, ord_num) references sales (stor_id, ord_num) )
92 Reglas para restriciones referenciales La(s) columna(s) en la tabla padre que es referenciada en una tabla hija debe cumplir una de las siguientes condiciones: Tener una restricción primary key constraint Tener una restricción A unique constraint Tener indice unico creado con el comando create index Una restricción referencial se puede referir a columnas dentro de la misma tabla Ejemplo: create table employees ( emp_id char(10) NOT NULL, name varchar(40) NOT NULL, manager char(10) NOT NULL constraint ref_manager references employees(emp_id) )
93 Restricciones sobre valores referenciales Modificación de valores sobre una primary key: No se permite hacer update o delete si el valor existe en una foreign key Se permite hacer update o delete si el valor no existe en una foreign key Modificación de valores sobre foreign key: No se permite insert o update si el nuevo valor no existe en la correspondiente primary key Borrado de tablas con primary keys: No se pueden borrar una tabla si su primary key está referenciada en una foreign key
94 Ejemplos de restricción referencial Crear la tabla customers con una primary key: create table customers ( customer_id int constraint pk_cust primary key, name varchar(40) ) Crear una tabla orders de tal forma que una orden no se pueda insertar a menos que exista un ID válido en customer. Usar una foreign key (customer_id) que se refiera a la primary de la otra tabla (customers.customer_id): create table orders ( item_name varchar(20), customer_id int references customers (customer_id) )
95 Insertar dos filas en customers: insert into customers values (101, "Liz Shaw") insert into customers values (102, "Jo Grant") Ejecutar estas sentencias (una fallará): insert into orders values ("widget", 102) insert into orders values ("gadget", 105) Cuál insert falla? Por qué? Ejecutar estas sentencias (una fallará): delete from customers where name = "Liz Shaw" delete from customers where name = "Jo Grant"
96 Cuál delete falla? Por qué? Borrar los objetos de base de datos creados: drop table orders drop table customers
97 Adición de restricciones Sintaxis simplificada para añadir: alter table table_name add constraint constraint_name { check (condition) primary key (column_list) unique (column_list) foreign key (column_list) references table (column_list) } Ejemplos: alter table roysched add constraint chk_hirange_lorange check (hirange > lorange) alter table publishers add constraint pky_pub_id primary key (pub_id) alter table titles add constraint ref_pub_id foreign key (pub_id) references publishers(pub_id)
98 Borrado de restricciones Sintaxis simplificada para borrado: alter table table_name drop constraint constraint_name Ejemplos: alter table roysched drop constraint chk_hirange_lorange alter table publishers drop constraint pky_pub_id alter table publishers drop constraint unq_pub_name alter table titles drop constraint ref_pub_id
99 Ejemplos de restricciones Crear una table employees: create table employees ( emp_id int, name varchar(40), salary money ) Añadir una nueva restricción a la tabla: alter table employees add constraint chk_salary check (salary between $1 and $70000) Tratar de insertar un empleado con un dato de salario inválido: insert into employees values (01, "Sarah Jane Smith", 90000)
100 Borrar los objetos de base de datos creados: drop table employees exec sp_dropmessage 20001
101
102 Default Un default es un objeto de base de datos que proporciona un valor a una columna cuando en un insert no se especifica un valor para esa columna Se puede aplicar a una o más columnas
103 Crear y asignar defaults Sintaxis simplificada para Create: create default default_name as constant_expression Ejemplo: create default def_state as "CA" Asignación del default
104 Reglas para asignar defaults Una columna solamente puede tener un default Si se intenta asignar un default a una columna que ya tiene un default, ese intento fallará Una columna con una cláusula default no se le puede asignar un default Cuando un default se asigna, los datos en la tabla no se ven afectados Solamente aplica a los datos que se inserten después de que se asigne el default
105 Quitar y borrar defaults Quitar un default Sintaxis simplificada para borrado: drop default default_name Ejemplo: drop default def_state
106 Rule Una rule es un objeto de base de datos que no permite inserts y updates si la regla no se cumple Como la restricción check, se puede utilizar para forzar integridad a nivel de dominio Una rule se puede asignar a una o más columnas
107 Crear reglas Sintaxis simplificada: create rule rule_name as condition_expression Ejemplos: create rule rul_state in ("CA", "CO", "WA") create rule rul_discount_range between 0 and 20 create rule rul_file_date < 12 > 22 create rule rul_pub_id in ("1389", "0736", "0877") like "99[0-9][0-9]"
108 Asignar reglas Sintaxis simplificada: sp_bindrule rule_name, object_name Ejemplo: sp_bindrule rul_state, "publishers.state" Una columna solamente puede tener una rule Si se asigna una regla a una columna, cualquier regla asignada con anterioridad pierde validez Una columna puede tener una restricción y una rule asignadas a ella Los valores deben cumplir ambas condiciones: la restricción y la rule en operaciones de inserción o actualización Cuando se asigna una regla, los valore existentes en la tabla no se ven afectados Solamente aplica a los datos que inserten después de que la regla se asigna
109 Desasignar y borrar reglas Desasignar reglas Sintaxis simplificada para drop : drop rule rule_name Ejemplo: drop rule rul_state
110 Rules y defaults Crear una tabla: create table employees ( emp_id int, name varchar(20) ) Crear una regla: los ID de los empleados debe ser mayor que 10: create rule rul_employee > 10 Crear un default de 5 para ID de empleado: create default def_employee as 5
111 Asignar nuevos default y rule a la tabla: sp_bindrule rul_employee, "employees.emp_id" exec sp_bindefault def_employee, "employees.emp_id" Ejecutar estas sentencias (una fallará): insert into employees (emp_id, name) values (20, "Liz Shaw") insert into employees (name) values ("Jo Grant") Cuál insert falla? Por qué?
112 Desasignar el default y la rule: sp_unbindefault "employees.emp_id" exec sp_unbindrule "employees.emp_id" Borrar los objetos de base de datos: drop default def_employee drop rule rul_employee drop table employees
113 Datatypes definidos por el usuario Defaults y rules se pueden asignar a datatypes definidos por el usuario Las columnas que usen esos datatype aplican el default y rule que tenga asignado ese datatype Si el default o rule cambian, se aplican de inmediato Los datos existentes no se afectan por los cambios
114 Precedencia de columna y datatype Si una columna: Tiene asignado un default, y Usa un datatype definido por el usuario que tiene un default diferente, entonces El default asignado a la columna tiene precedencia Similarmente, si una columna: Tiene una rule, y Usa un datatype definido por el usuario que tiene una rule diferente, entonces La rule asignada a la columna tiene precedencia
115 Métodos para garantizar integridad de datos Dos métodos para implementar integridad de datos Domain Integrity Entity Integrity Referential Integrity Constraints Check constraints Primary key constraint, unique constraint References constraints Database Objects Rules Indexes Triggers
116 Resumen de restricciones Son exigidos en el estándar ANSI Son específicos a la tabla en que se crean y no son reutilizables No se pueden asociar a datatype definidos por el usuario Se crean al crear las tablas (o al modificarlas) Fácilmente se pueden implementar checks multicolumna
117 Resumen de defaults y rules Son extensiones SQL No son específicos de una tabla y son reutilizables Se pueden asociar a datatypes de usuario No se crean al crear la tabla y requieren de etapas adicionales (creación y asignación) No pueden implementar checks multicolumna
118 Selección de un método Usar constraints: Para implementar integridad una tabla Para cumplir con el ANSI standard Para restringir el dominio de una columna Para definir checks entre dos columnas de una fila Usar objetos de base de datos: Para implementar integridad que aplica a más de una columna, tabla o base de datos Para asignar rules o defaults datatypes de usuario
Bases de Datos Índices
Bases de Datos Índices Table scan Un table scan es una búsqueda en donde se leen todas las filas de una tabla Una tabla que no tenga índices creados, solamente puede hacer búsquedas a través de un table
Más detalles1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón
1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado
Más detallesm047a 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 detallesConceptos de Bases de Datos Relacionales Triggers
Conceptos de Bases de Datos Relacionales Triggers Trigger Un trigger es un procedimiento almacenado asociado con una tabla, el cual se ejecuta automáticamente cuando se modifica un dato de esa tabla Stored
Más detallesLENGUAJE 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 detallesModulo I: Introducción Gestores de Bases De Datos
Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje
Más detallesPROCEDIMIENTOS ALMACENADOS Y TRIGGERS. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007
PROCEDIMIENTOS ALMACENADOS Y TRIGGERS Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Procedimientos almacenados Un procedimiento almacenado es un conjunto de
Más detallesBases de Datos Relacionales
Bases de Datos Relacionales FUNCIONES Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales SQL Server Manuales Oracle Function (funciones) Una function es una operación que manipula datos
Más detallesSINTAXIS 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 detallesIntegridad Referencial. Restricciones (constraints)
Integridad Referencial Restricciones (constraints) Integridad de Referencial Integridad referencial: asegura la integridad entre las llaves foráneas y primarias (relaciones padre/hijo). Existen cuatro
Más detallesTemario. Í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 detallesBases 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 detallesStructured Query Language. Práctica
Structured Query Language Práctica Acceso a SQL Server Acceder a SQL Server Inicio ---- Programas ----- Microsoft SQL Server 2005 ------ SQL Server Management Studio Conectándose a SQL Server Conectarse
Más detallesImplementació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 detallesSQL 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 detallesEl 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 detallesTema 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 detallesCrear 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 detallesModificación de datos
Modificación de datos Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento Uso de transacciones Iniciar transacciones
Más detallesTRANSACT-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 detallesBases 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 detallesLENGUAJE DE MANIPULACIÓN DE DATOS
LENGUAJE DE MANIPULACIÓN DE DATOS Las instrucciones de DML funcionan con los datos de la base de datos. Mediante estas instrucciones puede cambiarlos o recuperar información. Las instrucciones de DML incluyen:
Más detallesA.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Í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 detallesEs 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 detallesCREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.
CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS. Para crear una tabla utilizamos el lenguaje DDL. El nombre de la tabla puede tener entre 1 y 30 caracteres y no puede ser una palabra reservada de oracle y
Más detallesBases 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 detallesGESTORES GESTORES DE BASES DE DATOS
GESTORES GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de
Más detallesAccess SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.
SGBD y SQL Access SQL: DDL y DML Ejercicio Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. Necesita almacenar información acerca de sus empleados y los proyectos en
Más detallesLENGUAJE DE CONSULTA ESTRUCTURADO (SQL)
Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y
Más detallesBase 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 detallesSQL (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 detallesAPÉ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 detallesADMINISTRACIÓ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 detallesEscuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers
Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar
Más detallesÍNDICE INTRODUCCIÓN...17
ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. ORACLE 11g Y EL GRID COMPUTING...19 1.1 CONCEPTO DE GRID COMPUTING...19 1.2 ORACLE GRID COMPUTING...20 1.2.1 Almacenamiento eficiente de la información...21 1.2.2 Utilización
Más detallesLENGUAJE 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 detallesBases 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 detallesOracle Database: Introducción a SQL
Oracle University Contact Us: 001-855-844-3881 Oracle Database: Introducción a SQL Duration: 5 Days What you will learn La comprensión de los conceptos básicos de las bases de datos relacionales garantiza
Más detallesMANUAL BÁSICO DEL LENGUAJE SQL
MANUAL BÁSICO DEL LENGUAJE SQL INTRODUCCIÓN A continuación se presentan lo que son comandos DLL y DML, las clausulas, lo operadores (lógicos y de comparación), funciones de agregado, consultas, tipos de
Más detallesPre-Taller Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql)
BASES DE DATOS Facyt-UC Pre-Taller 2 1. Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql) 1. Gestión de Privilegios de
Más detallesBASE 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 detallesSERVICIO 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 detallesAcceso a bases de datos MySQL con PHP
GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre
Más detalles8 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 detallesm046a 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 detallesMaestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DDL Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda SQL DDL Lenguaje SQL Sub-lenguajes Dialectos Agenda SQL DDL Esquemas
Más detallesDiseño de bases de datos Práctica-1 Definición de datos
Departamento de Lenguajes y Sistemas Informáticos Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es www.lsi.us.es E.T.S. Ingeniería Informática Diseño de bases de datos Práctica-1
Más detallesTema 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 detallesDISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999
DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo
Más detallesStructured 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 detallesGestión de la Información Práctica 1
Gestión de la Información Práctica 1 Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA SQL - Server SQL Server 2008 es la base datos cliente-servidor de Microsoft. Su lenguaje
Más detallesCURSORES. Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle
CURSORES Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle Cursor Un cursor es un mecanismo que sirve para procesar fila por fila los resultados de una consulta Beneficios de los
Más detallesUnidad. 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 detallesVistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula
Vistas en InformiX Características Una vista es una tabla virtual cuyo contenido está definido por una consulta SELECT. Al igual que una tabla real, una vista tiene: un nombre un conjunto de columnas con
Más detallesRestricciones 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 detalles8 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 detallesLenguaje 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 detallesConstraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved.
11 Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir constraints Crear y mantener
Más detallesCarlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD
Ligaduras de Integridad y Restricciones sobre la BD Outline 1 Introducción 2 Ligaduras de Dominio 3 Llaves Primarias 4 Llaves de Unicidad 5 Integridad Referencial Introducción y Motivación Por qué se deben
Más detallesBASE 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 detallesAsignatura: Administración de Bases de Datos
Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 3: e en Bases de Datos Pedro P. Alarcón Cavero
Más detallesHaga clic para PostgreS cambiar el estilo
Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación ldgarc@gmail.com Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)
Más detalles3. El catálogo 26. Laboratorio de Bases de Datos
ÍNDICE Continuación SQL Índice 1. Continuación del SQL como DML (Lenguaje de Manipulación de Datos) 1 1.1. Inserción de datos................................. 1 1.2. Borrado de datos..................................
Más detallesSQL 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 detallesConsultas 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 detallesm047a 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 detalles2- 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 detallesPermite 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 detallesIntroducció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 detallesSQL. 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 detallesMANUAL BÁSICO DE MYSQL
MANUAL BÁSICO DE MYSQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO MANUAL BÁSICO DE MYSQL... 1 INTRODUCCIÓN... 3 1. CONECTARSE CON
Más detallesChecks, Triggers y Excepciones en InterBase: validando desde la base de datos
Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Por Alfonso Ricaño Bringas InterBase nos permite validar los valores que ingresan a los campos, mediante las restricciones
Más detallesSQL (Structured Query Language)- DML
SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,
Más detallesFormato 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 detallesEl Sistema Gestor de Base de Datos (DBMS)
Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los
Más detallesConcepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a
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 detallesManual 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 detallesCURSO 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 detallesGALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )
Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION
Más detallesBase de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos Agenda Algebra Relacional Cálculo Relacional Conceptos Fundamentales de Base de Datos SQL 0/09/007 Conceptos de Bases de Datos
Más detallesBase de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos
UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE ING. INDUSTRIAL Base de Datos Resultados Internet Requerimientos BASE DATOS Docente: Ing. Francisco Rodríguez Base de Datos Tema 6: El Lenguaje Estándar SQL
Más detallesTema 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 detallesUNIVERSIDAD 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 detallesTEMA. 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 detallesEscuela : 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 detallesObjetos 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 detallesSistemas de Bases de Datos II ITS / ITSB EMT CETP
Administración de Datos D. M. L. Data Manipulation Language Administración de Datos D. M. L. Data Manipulation Language Lenguaje de Manipulación de Datos. Administración de Datos Los comandos son los siguientes:
Más detallesORACLE 10g. Descripción A QUIEN VA DIRIGIDO?
ORACLE 10g Descripción A QUIEN VA DIRIGIDO? Está dirigido a estudiantes y profesionista que desee conocer la tecnología Oracle, así como realizar extracción de datos, creación de objetos y administración
Más detallesFIREBIRD: 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Í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 detallesEstá basado en el álgebra y en el cálculo relacional.
SQL DML. Introducción SQL. QUÉ ES. SQL (Structured Query Language, Lenguaje Estructurado de Consultas): Lenguaje que permite expresar operaciones diversas (aritméticas, combinatorias, lógicas, selección
Más detallesÍ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 detallesEJERCICIOS DE CONSULTAS SQL
Profesor: Ing. Christian Ovalle 1.-Realizar todo las sentencias en SQL EJERCICIOS DE CONSULTAS SQL 2.-Guardar en formato TXT y enviar al correo del profesor: vbnetperu@gmail.com Creamos la base de datos
Más detallesBases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso
Bases de Datos Diseño y Programación Avanzada de Aplicaciones Curso 2002-2003 INDICE Fichero vs. Bases de Datos Relacionales Un fichero constituye la forma más básica de almacenamiento de información.
Más detallesUNIVERSIDAD 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 detallesGUIA 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 detallesIntroducción a Transact-SQL
Introducción a Transact-SQL Introducción E lenguaje de programación Transact-SQL Tipos de instrucciones de Transact-SQL Elementos de la sintaxis de Transact-SQL El lenguaje de programación Transact-SQL
Más detallesTEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)
TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD 6.1 Introducción Hasta ahora hemos estudiado las sentencias que forman parte del DML (Data Management Language lenguaje de manipulación de datos, todas esas
Más detallesRESUMEN DEL LENGUAJE SQL
RESUMEN DEL LENGUAJE SQL AUTORÍA JOSEFA PÉREZ DOMINGUEZ TEMÁTICA INFORMATICA ETAPA CICLO FORMATIVO DE GRADO SUPERIOR Y MEDIO DE INFORMATICA Resumen Con esta publicación muestra un resumen de la sintaxis
Más detalles