Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
SESIÓN /6 SQL SERVER Y SUS TIPOS DE DATOS / DEFINICIÓN / BASE DE DATOS / TIPOS DE DATOS / ELECCIÓN DE TIPOS DE DATOS NOMBRE DEL CURSO SESIÓN XX © ISIL. Todos los derechos reservados 1 En esta sesión conocerás las características de los tipos de datos que se usan en SQL Server. Tendrás una noción del DBMS de Microsoft, SQL Server. 2 / INTRODUCCIÓN Haga clic para modificar el estilo de título del patrón DEFINICIÓN NOMBRE DEL CURSO SESIÓN XX © 2018 ISIL. Todos los derechos reservados 3 SQL Server es un sistema de administración de base de datos o motor de base de datos. También conocido como DMBS por las siglas en ingles de Database Management System es un producto de Microsoft, que trabaja con bases de datos del sistema y bases de datos del usuario. / DEFINICIÓN Haga clic para modificar el estilo de título del patrón Las bases de datos del sistema, almacenan información que permite operar y administrar el sistema. Las bases de datos de usuario almacenan los datos requeridos por las operaciones del cliente. / DEFINICIÓN Haga clic para modificar el estilo de título del patrón BASE DE DATOS NOMBRE DEL CURSO SESIÓN XX © 2018 ISIL. Todos los derechos reservados 6 En términos sencillos una base de datos de SQL Server es una colección de objetos que contiene y administra datos. Al crear una base de datos es importante entender como es que SQL Server almacena la información. / BASE DE DATOS Haga clic para modificar el estilo de título del patrón El archivo de datos representan el almacenamiento físico de los datos El archivo de Log es usado por SQL Server para el control de las transacciones La página es la unidad mínima de almacenamiento NOTA: en la segunda mitad del curso se profundizarán estos conceptos / BASE DE DATOS Haga clic para modificar el estilo de título del patrón TIPOS DE DATOS NOMBRE DEL CURSO SESIÓN XX © 2018 ISIL. Todos los derechos reservados 9 SQL Server brinda una serie de tipos de datos para almacenar la información. La correcta selección del tipo de dato está asociada al dominio del campo. Es cuestión de determinar qué valores se desea almacenar, como por ejemplo: Carácter Enteros Binario Fechas / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón Los siguientes objetos de SQL Server tienen tipos de datos: Columnas de tablas y vistas Parámetros de procedimientos almacenados Variables Funciones de Transact-SQL que devuelven uno o más valores de datos / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón En este curso nos enfocaremos en las columnas de las tablas 11 Entre los diferentes tipos de datos de SQL Server se encuentran los siguiente: Binario Carácter Fecha y Hora Decimal Punto Flotante Entero Monetario Para mayor detalle puede consultar este vínculo: https://docs.microsoft.com/es-es/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-2017 / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón UNICODE Es un estándar internacional que aplica para los datos de tipo carácter. En SQL Server se tiene los tipos de dato: Carácter Carácter UNICODE El objetivo de Unicode es manejar un solo tipo de dato para todos los lenguajes del mundo. Antes de Unicode existía ASCII que no podía representar todos los lenguajes del mundo, solo los lenguajes occidentales. Una característica de Unicode es que representa el doble de bytes con respecto a ASCII. Solo se debe usar si se requiere almacenar información en lenguajes orientales. / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón Algunas consideraciones para elegir el tipo de dato asociado a una columna El tipo de información que se va a almacenar. El espacio de almacenamiento necesario Dimensionar el campo en bytes. Cada tipo de datos ocupa una cantidad de bytes determinada. El tipo de operaciones se van a realizar con los valores del campo. Si se desea ordenar o indexar por ese campo. / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón Consideraciones previas para elegir el tipo de dato asociado a una columna Por ejemplo, no se pueden guardar caracteres en un campo cuyo tipo de datos sea numérico. Pues, por ejemplo, no se puede calcular la suma de dos cadenas de texto. Los criterios de 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 código ASCII (1,10,11,2,20,...) que no coincide con la ordenación numérica. 14 Ejemplos de algunos tipos de datos: Numéricos Exactos: Tipo de datos Notas Tinyint 8 bit (0 - 255) Smallint 16 bit entero (-32768 - 32767) Int 32 bit entero (-2147483648 - 2147483647) Bigint 64 bit entero (-2^63 a 2^63 – 1) Decimal Precisión y escala fija (-10^38+1 – 10^38-1) Numeric Funcionalmente equivalente a decimal Bit Valores de 1, 0, o NULL / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón Ejemplos de algunos tipos de datos: Numérico aproximado Fecha y hora Tipo de dato Notas Float Valor aproximado, hasta 53 dígitos Real Estándar de punto flotante ISO almacenamiento fijo de 32 bits Tipo de dato Notas Date 0001-01-01 a 9999-12-31 Datetime2 DATE + TIME juntos Datetime 1753-01-01 a 9999-12-31 hasta milisegundos Datetimeoffset Igual a datetime2 más zona horaria Smalldatetime 1900-01-01 a 2079-06-06 hasta minuto Time 00:00:00.0000000 a 23:59:59.9999999 / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón Ejemplos de algunos tipos de datos: Alfanumérico o caracter Tipo de dato Notas char Logitud fija bite simple nchar Logitud fija bite doble (UNICODE) varchar Logitud variable bite simple nvarchar Logitud variable bite soble (UNICODE) varchar(max) Logitud variale grande bite simple nvarchar(max) Logitud variable grande bite soble (UNICODE) / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón Otros tipos de datos Tipos de datos Notas binary Datos binarios de longitud fija varbinary Datos binarios de longitud variable varbinary(max) Datos binarios de longitud variable grande xml Almacena información en formato XML cursor Para variables cursor table Variables tipo tabla geometry, geography Datos espaciales / TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón ELECCIÓN DE LOS TIPOS DE DATOS NOMBRE DEL CURSO SESIÓN XX © 2018 ISIL. Todos los derechos reservados 19 Vamos a tomar como ejemplo un caso del modelo lógico correspondiente al alquiler de vehículos. A los atributos que se a considerado en este modelo lógico resultante, le vamos a elegir un tipo de dato adecuado, correspondiente a SQL server. / ELECCIÓN DE LOS TIPOS DE DATOS Haga clic para modificar el estilo de título del patrón En este modelo lógico, cada entidad ya tiene los atributos que iban a caracterizar luego a las tablas y a la misma base de datos. Debemos elegir para cada entidad, los datos que le corresponderían a los atributos, según los requerimientos de la realidad en la que se está diseñando la base de datos. Tomemos como ejemplo la entidad cliente: La clave primaria de cliente podría ser entera y el equivalente en SQL server sería el tipo llamado INTEGER. Se aconseja que las claves primarias sean enteras en la medida de lo posible, ya que una clave primaria entera facilita el trabajo de búsqueda al motor de base de datos. Si no fuera posible elegir un entero para el acta de primaria, porque ya en la realidad se manejan otros tipos de datos, se aconseja que la clave primaria se declare como TEXTO fijo, o sea CHAR(n) donde N sería un número entero que indica el tamaño del texto en caracteres. En el caso del nombre del cliente, no se sabe a ciencia cierta cuál es el tamaño que pueda tener el texto, por eso debe ser variable, y en nuestro caso para sql server elegiríamos VARCHAR(n). En el caso del DNI ya sabemos que tiene un ancho fijo de 8 caracteres, luego se definiría como CHAR(8) Las claves foráneas están obligadas a tener el mismotipo de dato que tiene la clave primaria a la cual hacen referencia. En el caso de las fechas podríamos elegir el tipo DATETIME, y en el caso de dinero, podríamos elegir el tipo money. Como se puede observar la elección de los tipos de datos en cada uno de los atributos que corresponden a una entidad, dependen de los datos reales que se manejen y que coincidan o sean correspondientes a los tipos de datos que están disponibles en SQL server. 20 Para CLIENTE entonces tenemos: Observa como los tipos de datos se indican inmediatamente después del nombre del campo, estos pueden indicarse en mayúsculas o en minúsculas indistintamente. / ELECCIÓN DE LOS TIPOS DE DATOS/ TIPOS POR TABLA Haga clic para modificar el estilo de título del patrón Para AGENCIA tenemos: / ELECCIÓN DE LOS TIPOS DE DATOS/ TIPOS POR TABLA Haga clic para modificar el estilo de título del patrón Para RESERVA tenemos: / ELECCIÓN DE LOS TIPOS DE DATOS/ TIPOS POR TABLA Haga clic para modificar el estilo de título del patrón La clave foráneas eran el tipo de la clave primaria a la cual hacen referencia. 23 Para GARAJE tenemos: / ELECCIÓN DE LOS TIPOS DE DATOS/ TIPOS POR TABLA Haga clic para modificar el estilo de título del patrón En el caso de COCHE tenemos: / ELECCIÓN DE LOS TIPOS DE DATOS/ TIPOS POR TABLA Haga clic para modificar el estilo de título del patrón En el caso de DETALLE_RES Otra consideración importante es que las llaves foráneas y las llaves primarias a la que hacen referencia deben tener exactamente el mismo tipo de dato. / ELECCIÓN DE LOS TIPOS DE DATOS/ TIPOS POR TABLA Haga clic para modificar el estilo de título del patrón SQL Server es un sistema de administración de base de datos o motor de base de datos. SQL Server brinda una serie de tipos de datos para almacenar la información. La elección del tipo de dato que corresponde a cada campo, depende de los valores que se manejen en la realidad. / CONCLUSIONES NOMBRE DEL CURSO SESIÓN XX © 2018 ISIL. Todos los derechos reservados 27 CLIENTE idCLiente INT NomCliente VARCHAR(50) DNICliente CHAR(8) DirCliente VARCHAR(160) TelCliente VARCHAR(13) AGENCIA idAgencia INT DirAgencia VARCHAR(160) TelAgencia VARCHAR(13) RESERVA numReserva INT idCliente (FK) INT FechaInicio DATE FechaTermino DATE idAgencia (FK) INT GARAJE idGaraje INT DirGaraje VARCHAR(160) TelGaraje VARCHAR(13) Encargadogaraje VARCHAR(50) COCHE idCoche INT NroPlacaCoche VARCHAR(13) MarcaCoche VARCHAR(20) ModeloCoche VARCHAR(20) DesCoche VARCHAR(100) ColorCoche VARCHAR(20) idGaraje (FK) INT
Compartir