Ejercicios en SQL server para:
Hacer distinción entre los atributos de tipo char y varchar.
Diferenciar los caracteres unicode: tipos nchar y nvarchar.
Comprobar las intercalaciones.
Crear nuevos tipos de datos definidos por el usuario y asignarlo a columnas de tablas
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
Tipos de datos. Ejercicios en SQLServer
1. Sistemas Gestores de Bases de Datos
Tipos datos. SQL-Server
Tipos de datos en SQL Server
Base de datos Librería
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-00.
Creación de Tablas. Realiza una consulta que mediante Instrucciones DDL que:
Cree las Tablas del Diagrama anterior
Defina la Claves Primarias (PK) mediante restricciones
Defina la Claves Externas (FK) mediante restricciones
TD-01.
Datos en char y varchar. 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
3. Sistemas Gestores de Bases de Datos
Tipos datos. SQL-Server
CARACTERES UNICODE: TIPOS Nchar y Nvarchar
Observa que todos los campos que en Access eran de tipo TEXTO, si se importan a SQL
Server son 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).
De todos modos, SQL Server admite que se almacenen en una única base de datos objetos
que tienen distintas intercalaciones.
4. Sistemas Gestores de Bases de Datos
Tipos datos. SQL-Server
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 (Modern_Spanish_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-02.
Intercalaciones. 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.
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)
5. Sistemas Gestores de Bases de Datos
Tipos datos. SQL-Server
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
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.
6. Sistemas Gestores de Bases de Datos
Tipos datos. SQL-Server
TD-03.
Crear tipo de dato entero.
Mediante procedimientos almacenados Elimina ese tipo y vuelve a crearlo.
exec sp_droptype 'identif'
exec sp_addtype 'identif', 'int', 'not null'
A continuación asigna ese tipo de datos a las variables de tipo clave primaria entera y claves
externas que apuntan a estas:
Mediante Management Studio:
Autores (IdAutor), Clientes(IdCliente), Detallespedidos(Pedido)
TD-04.
Asignar tipo de dato entero.
Mediante consultas Alter Table:
Librerias(IdLibreria), Libros (Autor), Pedidos ( IdPedido, Cliente, Libreria)
7. Sistemas Gestores de Bases de Datos
Tipos datos. SQL-Server
TD-05.
Crear tipo de dato numérico.
Mediante el procedimiento almacenado sp_addtype:,
Aañade un tipo de dato de nombre Tipo_dto, asimilado a un dato numérico de longitud
2, 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-06.
Asignar tipo de dato numérico
Mediante consultas Alter Table:
Posteriormente asignar el tipo Tipo_dto al campo descuento de la tabla de pedidos
TD-07.
Ver dependencias
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.
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.