Está en la página 1de 34

5.

Estructura de una tabla


Subtema
Objetivos
• Aprender acerca de la estructura de las tablas.
Subtemas de clase pasada
• 5. Estructura de una tabla
Subtemas que veremos hoy

• 5.1 Construir una tabla


• 5.2 Llenar una tabla
• 5.3 Cambiar la estructura de una tabla
• 5.4 Cambiar las propiedades de los campos
• 5.6 Indexar un atabla
• 5.8 Definir una llave principal
Antes de comenzar..
•-
5.1 Construir una tabla

Las tablas se componen de dos estructuras:

• Campo: Corresponde al nombre de la columna. Debe


ser único y además de tener un tipo de dato asociado a
los registros que se insertaran.
• Registro: Corresponde a cada fila que compone la
tabla. Allí se componen los datos y los registros.
Eventualmente pueden ser nulos en su almacenamiento.
-
La sentencia CREATE TABLE se utiliza para crear una tabla en una
base de datos existente.

CREATE TABLE nombretabla


(
nombrecolumna1 tipodato1,
nombrecolumna2 tipodato2,
nombrecolumna3 tipodato3,
..
);
-
CREATE TABLE: este comando se utiliza para indicar que
una tabla se va a crear, seguidamente especificamos el
nombre de la tabla.

Los paréntesis () indican que dentro de ellas se


agregaran las columnas de la tabla indicando el inicio y
fin de la estructura, las columnas van con la siguiente
estructura:
Resumen de propiedades de las
columnas de tablas
• Permitir valores NULL: Por defecto si no se epecifica NOT NULL,
la columna podrá soportar nulos.
• Primary Key: Indica si la columna será la llave primaria de la
tabla.
• Unique: Indica que la columna permitirá valores únicos, no se
puede repetir un mismo valor en varias filas (row).
• Default: Se indica el valor default que tendrá la columna cuando
en la inserción no este contemplado este campo.
• Identity: La columna será auto incrementable por defecto inicia
en 1.
• Description: Una breve descripción a la columna.
Ejemplo

CREATE TABLE Alumnos (


Id INT NOT NULL,
Nombre VARCHAR(40) NOT NULL,
Apellido VARCHAR(40) NOT NULL,
Domicilio TEXT,
Fecha_Nacimiento DATETIME
);
5.2 Llenar una tabla
El siguiente paso es empezar a utilizar la base de datos, y
lo primero que debemos hacer es insertar algunos datos
en la base.

Para ello utilizaremos la sentencia INSERT INTO que


inserta un registro en una tabla.
-
Su sintaxis es la siguiente:

INSERT INTO nombre_tabla


(columna1,columna2,columna3)
VALUES ('valor1','valor2','valor3');
Ejemplo
INSERT INTO miagenda
(nombre,telefono1,telefono2,email)
VALUES ('Juan
Fernandez','943214566','664114227','juanfernan@gmail
.com');
Otros comandos
• SELECT: SELECT <nombre_campo> FROM <nombre_tabla> WHERE
(opcional)
• DELETE: DELETE FROM <nombre_tabla> WHERE (opcional)
• UPDATE: UPDATE <nombre_tabla> SET <nombre_campos> WHERE
(opcional)
Ejemplos
• SELECT * FROM tabla1
• DELETE FROM ''cursada'' WHERE ''materia''= ''spd2''
• UPDATE ''cursada'' SET ''materia''= ''spd3'' WHERE
''alumno''= ''pepe
5.3 Cambiar la estructura de una
tabla
Modifica una definición de tabla mediante la alteración,
adición o retirada de columnas y restricciones. ALTER
TABLE también vuelve a asignar y compilar particiones, o
deshabilita y habilita restricciones y desencadenadores.
Estructura

ALTER TABLE TableName1


ADD | ALTER [COLUMN] FieldName1
FieldType [(nFieldWidth [, nPrecision])]
[NULL | NOT NULL]
[CHECK lExpression1 [ERROR cMessageText1]]
[DEFAULT eExpression1]
[PRIMARY KEY | UNIQUE]
[REFERENCES TableName2 [TAG TagName1]]
[NOCPTRANS]
-
ALTER TABLE TableName1
ALTER [COLUMN] FieldName2
[NULL | NOT NULL]
[SET DEFAULT eExpression2]
[SET CHECK lExpression2 [ERROR cMessageText2]]
[DROP DEFAULT]
[DROP CHECK]
Argumentos
TableName1
• Especifica el nombre de la tabla cuya estructura se modifica.
ADD [COLUMN] FieldName1
• Especifica el nombre del campo que se agregará.
ALTER [COLUMN] FieldName1
• Especifica el nombre de un campo existente que se modificará.
FieldType [( nFieldWidth [, nPrecision]])
• Especifica el tipo de campo, el ancho de campo y la precisión
del campo (número de posiciones decimales) para un campo
nuevo o modificado.
-
NULL | NOT NULL
• Permite o impide valores NULL en el campo.
PRIMARY KEY
• Crea una etiqueta de índice principal. La etiqueta de
índice tiene el mismo nombre que el campo.
UNIQUE
• Crea una etiqueta de índice candidata con el mismo
nombre que el campo.
Ejemplo
ALTER TABLE Customers
ADD Email varchar(255);

ALTER TABLE Customers
DROP COLUMN Email;
5.4 Cambiar las propiedades de
los campos
Eliminar:
ALTER TABLE nombre_tabla
DROP COLUMN nombre_columna;

EJEMPLO>
ALTER TABLE Clientes
DROP COLUMN Email;
-
Modificar columna
ALTER TABLE nombre_tabla
ALTER COLUMN nombre_columna datatype;

EJEMPLO>
ALTER TABLE Clientes
ADD Fecha_Venta date;

ALTER TABLE Clientes


ALTER COLUMN Fecha_Venta year;
5.6 Indexar una tabla
Crea un índice relacional en una tabla o una vista.
También se denomina índice de almacén de filas porque
es un índice de árbol B agrupado o no agrupado. Puede
crear un índice de almacén de filas antes de que haya
datos en la tabla.
Sintaxis
-- Create a nonclustered index on a table or view
• CREATE INDEX index1 ON schema1.table1 (column1);

-- Create a clustered index on a table and use a 3-part name for the table
• CREATE CLUSTERED INDEX index1 ON database1.schema1.table1
(column1);

-- Syntax for SQL Server and Azure SQL Database


-- Create a nonclustered index with a unique constraint
-- on 3 columns and specify the sort order for each column
• CREATE UNIQUE INDEX index1 ON schema1.table1 (column1 DESC,
column2 ASC, column3 DESC);
Ejemplo
En este ejemplo se crea un índice no agrupado para el
campo "titulo" de la tabla "libros":
• create nonclustered index I_libros_titulo on
libros(titulo);

Creamos un índice compuesto para el campo "autor" y


"editorial":
• create index I_libros_autoreditorial on
libros(autor,editorial);
5.8 Definir una llave principal
Una llave primaria o PRIMARY KEY es una columna o un
grupo de columnas que identifica de forma exclusiva
cada fila de una tabla. Puede crear una llave primaria
para una tabla utilizando la restricción PRIMARY KEY.
-
Si la llave principal consta de solo una columna, puede
definir el uso de la restricción PRIMARY KEY como una
restricción de columna:
-
CREATE TABLE table_name (
pk_column data_type PRIMARY KEY,
...
);
-

En caso de que la llave primaria tenga dos o más columnas,


debe usar la restricción PRIMARY KEY como una restricción de
tabla:

CREATE TABLE table_name (


pk_column_1 data_type,
pk_column_2 data type,
...
PRIMARY KEY (pk_column_1, pk_column_2)
);
Ejemplo

El siguiente ejemplo crea una tabla con una llave


primaria que consta de una columna:

CREATE TABLE sales.actividades (


actividad_id INT PRIMARY KEY IDENTITY,
actividad_name VARCHAR (255) NOT NULL,
actividad_date DATE NOT NULL
);
-

La siguiente instrucción crea una nueva tabla


denominada sales.participantes cuya llave principal
consta de dos columnas:

CREATE TABLE sales. participantes(


actividad_id int,
cliente_id int,
PRIMARY KEY(actividad_id, cliente_id)
);
Gracias por su atención
-
•-

También podría gustarte