Tipos de datos. Ejercicios en SQL Server

2,484 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,484
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
67
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tipos de datos. Ejercicios en SQL Server

  1. 1. Sistemas Gestores de Bases de Datos Tipos datos. SQL-Server Tipos de datos en SQL Server Base de datos Librería Datos y Funciones.1
  2. 2. Sistemas Gestores de Bases de Datos Tipos datos. SQL-Server DISTINCIÓN ENTRE LOS ATRIBUTOS DE TIPO CHAR Y VARCHAR Si en una columna char NOT NULL se inserta un valor más corto que la longitud de la columna, el valor se rellena a la derecha con blancos hasta completar el tamaño de la columna. Por ejemplo, si una columna se define como char(10) y el dato que se va a almacenar es "música", SQL Server almacena este dato como "música_ _ _ _" donde "_" indica un espacio en blanco. TD-0. Realiza una consulta que mediante Instrucciones DDL: • Cree las Tablas del Diagrama anterior • Defina la Claves Primarias (PK) mediante restricciones • Defina la Claves Externas (FK) mediante restricciones TD-1. Realiza una consulta que: • Crees una tabla Prueba con 2 campos:  C_varchar, de tipo varchar, longitud 30  C_char, de tipo char, longitud 30 • Introduzcas mediante SQL tres tuplas con los valores ‘aa’, ‘bb’ y ‘ccc’ en ambos campos • Compruebes que todos los valores del campo C_char, tienen blancos a la derecha hasta llegar a la longitud 30 Datos y Funciones.2
  3. 3. Tipos datos. SQL-Server Sistemas Gestores de Bases de Datos CARACTERES UNICODE: TIPOS Nchar y Nvarchar Recuerda que la B.D “Libreria” la importamos de Access. Observa que todos los campos que en Access eran de tipo TEXTO, se han importado a SQL Server como de tipo nchar o nvarchar. Este tipo de datos es para cadenas de caracteres en las que cada carácter se codifica mediante el código UNICODE. Es un código que ocupa más, pero que garantiza la compatibilidad de caracteres en distintos equipos y SGBDs. INTERCALACIONES En SQL Server, cada campo de tipo char o varchar tiene una intercalación. Las INTERCALACIONES definen las combinaciones de bits que se utilizan para representar cada carácter, las reglas de comparación, la distinción entre mayúsculas y minúsculas y la distinción de los acentos. Cada base de datos tiene una intercalación predeterminada. A los datos de tipo texto se les asigna una intercalación. Esta intercalación es, si no se indica lo contrario, la intercalación predeterminada de la base de datos. • Mira cuál es la intercalación del servidor SQL Server (Propiedades del servidor. Página general) • Comprueba que al crear una nueva base de datos puedes elegir la intercalación predeterminada. Página Opciones • Comprueba también que la intercalación de la base de datos “Libreria” es la misma que la del servidor (Propiedades de la base de datos. Página general). Datos y Funciones.3
  4. 4. Sistemas Gestores de Bases de Datos Tipos datos. SQL-Server De todos modos, SQL Server admite que se almacenen en una única base de datos objetos que tienen distintas intercalaciones. En la tabla Clientes de la BD “Libreria” verás que todos los campos de tipo texto se han definido como nvarchar con la intercalación de datos predeterminada de SqlServer porque así lo definimos en la instalación (SQL-Latin1-General-CP1-CI-AS). En la tabla libros – campo ISBN, en el diseño de la tabla, propiedades de columna, Intercalación, cambia <base de datos predeterminada> por Intercalación de Windows ‘Modern Spanish’. Comprueba que NO se hace distinción entre mayúsculas y minúsculas. Configúralo para que SI se haga esta diferenciación (aparecerá un mensaje de que en la columna ISBN de detallespedidos también se modificará ya que están relacionados). TD-2. Realiza una consulta que: • Introduce dos Libros nuevos, uno de clave ABC4 y otro de clave ABc4 y los siguiente datos • 'ABC4','Mayusculas',5,5 'ABc4','Minuscula',10,10 Realiza las consulta SELECT * FROM Libros WHERE ISBN = ’ABC4’ SELECT * FROM Libros WHERE ISBN = ’ABc4’ y comprueba que solo nos devuelve un libro. Datos y Funciones.4
  5. 5. Sistemas Gestores de Bases de Datos • Tipos datos. SQL-Server Realiza la consulta SELECT * FROM Libros WHERE RTRIM(ISBN) LIKE ’AB_4’. Busca en la ayuda de libros en pantalla información sobre los caracteres comodín. (Cuando se utilizan datos Unicode (tipos de datos nchar o nvarchar) con LIKE, los espacios en blanco al final son significativos) Mediante el Management Studio, • Intenta eliminar la distinción entre mayúsculas y minúsculas para el campo ISBN de la tabla libros. Al final del proceso debe darte algún problema, ya que dispondrías de dos tuplas con clave idéntica • Elimina las 2 tuplas y elimina la distinción entre mayúsculas y minúsculas. • Tipos de datos definidos por el usuario Creación sp_addtype NombreTipo, TipoBase [, {NULL/NOT NULL}] TipoBase: Tipo de datos de referencia Supresión Sp_droptype NombreTipo Ejemplos sp_addtype tiponombre,'varchar(30)' sp_addtype entero_3,'numeric(3)','not null' sp_droptype tiponombre sp_droptype entero_3 Datos y Funciones.5
  6. 6. Sistemas Gestores de Bases de Datos Tipos datos. SQL-Server Mediante el Management Studio, crea un tipo de datos para todos los identificadores numéricos de la BD “Libreria” (En BD Libreria; Programación; Tipos; Tipos de datos definidos por el usuario). Este tipo se llamará identif y equivaldrá a un entero (int) y no admitirá nulos. TD-3. Mediante procedimientos almacenados Elimina ese tipo y vuelve a crearlo. exec sp_droptype 'identif' exec sp_addtype 'identif', 'int', 'not null' Datos y Funciones.6
  7. 7. Sistemas Gestores de Bases de Datos Tipos datos. SQL-Server A continuación asigna ese tipo de datos a las variables de tipo clave primaria entera y claves externas que apuntan a estas: Management Studio: Autores (IdAutor), Clientes(IdCliente), Detallespedidos(Pedido) TD-4. Mediante consultas Alter Table: Librerias(IdLibreria), Libros (Autor), Pedidos ( IdPedido, Cliente, Libreria) TD-5. Mediante el procedimiento almacenado sp_addtype, añade un tipo de dato de nombre Tipo_dto, asimilado a un dato numérico de longitud 1, no nulo y comprendido entre 0 y 100. El valor por defecto será cero Deberás usar: sp_addtype, create rule, sp_bindrule, create default, sp_bindefault Una vez realizado desenlaza la regla, borra el tipo, la regla y el valor por defecto y vuelve a realizar el ejercicio del enunciado TD-6. Posteriormente asignar el tipo Tipo_dto al campo descuento de la tabla de pedidos Mediante el Management Studio – Programación; Tipos;Tipos de datos definidos por el usuario, examina (mediante Ver Dependencias) a qué tablas están actualmente asignados los 2 tipos de datos. Datos y Funciones.7
  8. 8. Sistemas Gestores de Bases de Datos Tipos datos. SQL-Server Comprueba que NO puedes eliminar ningún tipo de datos ni desde el Management Studio ni mediante sp_droptype ya que están en uso. Datos y Funciones.8

×