termoquimica
CREATE TABLE Customer_Composite_Key
(Last_Name narchar(30),
First_Name narchar(30),
Birth_Date datetime,
Social_Security_Number integer,
PRIMARY KEY (Birth_Date, Social_Security_Number));
Na definição de chave primária, usamos o comando ALTER TABLE para inserirmos e excluirmos uma primary key. As sintaxes respectivamente são: ALTER TABLE nome_tabela ADD CONSTRAINT nome_constraint PRIMARY KEY NONCLUSTERED(nome_campo) ALTER TABLE nome_tabela DROP CONSTRAINT nome_constraint
Uma "chave candidata" consiste em um atributo ou grupo de atributos cujo valor identifica unicamente cada tupla em uma relação e para o qual nenhum dos atributos pode ser removido sem destruir a identificação única.
Fazer as seguintes alterações no script:
- Mudar o relacionamento para NxN;
- Alterar a terceira tabela acrescentando a coluna Data Inscrição;
- Criar uma restrição colocando a data de inscrição com o valor de data atual como padrão.
Segue o script.
/* Script de Banco de Dados
Criado por: Fábio Marques
Data: 24/07/2013
*/
-- Criação do banco de dados
CREATE DATABASE CURSO_TREINAMENTO;
GO
-- Conectar com o banco que será criado
USE CURSO_TREINAMENTO;
-- Criação da Tabela Curso
CREATE TABLE CURSO ( COD_CURSO INT NOT NULL, DESCRICAO VARCHAR(50) NOT NULL, SITUACAO CHAR(1) NOT NULL, CONSTRAINT PK_CURSO_COD_CURSO PRIMARY KEY(COD_CURSO), CONSTRAINT CK_CURSO_SITUACAO CHECK(SITUACAO='A' OR SITUACAO='E')
);
-- Criação da Tabela Participante
CREATE TABLE PARTICIPANTE (
CPF VARCHAR(11) NOT NULL,
NOME VARCHAR(50) NOT NULL,
GENERO CHAR(1) NOT NULL,
DATA_NASCIMENTO DATE NOT NULL
CONSTRAINT DF_PARTICIPANTE_DATA_NASCIMENTO DEFAULT '9999-12-31',
EMAIL VARCHAR(100) NOT NULL,
COD_CURSO INT NOT NULL,
CONSTRAINT PK_PARTICIPANTE_CPF PRIMARY KEY(CPF),
CONSTRAINT FK_PARTICIPANTE_COD_CURSO FOREIGN KEY(COD_CURSO) REFERENCES CURSO(COD_CURSO),
CONSTRAINT CK_PARTICIPANTE_GENERO CHECK(GENERO='M' OR GENERO='F'),