O documento descreve os principais conceitos de modelagem de dados em bancos de dados relacionais, incluindo tabelas, atributos, chaves primárias, diagramas de entidade-relacionamento e mapeamento de dados em SGBDs usando a linguagem SQL.
Modelo Relacional “Modelo Relacional é um esquema lógico bem próximo ao físico” É o mais simples, com estrutura de dados uniforme e também o mais formal. Num banco de dados relacional os dados são armazenados em forma de tabelas.
3.
Tabelas Tabela éconstituída por linhas horizontais chamadas tuplas e verticais, chamadas colunas ou atributos. Você pode identificar cada tabela dando-lhe nomes únicos.
4.
Diagrama Entidade-Relacionamento ODiagrama Entidade-Relacionamento (DER) permite representar graficamente a estrutura lógica de um banco de dados. De um modo geral, para nos auxiliar na elaboração de um DER, podemos dizer que os substantivos de uma frase são as entidades e os verbos são os relacionamentos entre as entidades.
Exemplo: Entidades Frase:Cliente loca Filme. O relacionamento ocorre justamente com o verbo e as entidades são identificadas pelos substantivos. Cliente Filme Loca
7.
Atributos Toda entidadeé descrita sob a forma de atributos . Atributo nada mais é do que uma propriedade de uma entidade, algo que descreva a entidade. Um cliente pode ser descrito por: CPF Nome Endereço Cliente CPF Nome Endereço
8.
Chave Primária Chaveprimária é um atributo de uma entidade, cuja função principal é identificar uma instância unicamente. Por exemplo, a entidade cliente pode ter como chave primária o CPF. A chave primária é um valor não nulo que não se repete dentre as instâncias de uma mesma entidade. A representação de um atributo de chave primária em um DER se dá com um traço abaixo de seu nome. Cliente CPF Nome Endereço
9.
Cardinalidade Também chamadade restrição de mapeamento , é a participação mínima e máxima (limite superior) de cada uma das entidades nas associações a que está ligada. Os relacionamentos classificam-se em:
10.
Mapeamento Tabela (relação):Coluna (atributo) Obs: As colunas devem ficar dispostas umas sobre as outras na representação de uma tabela. Observe uma tabela preenchida, cada linha é uma tupla. No modelo físico chamamos de registro . Cliente CodCliente Nome Telefone Entidade: Atributos Cliente CodCli Nome Telefone 1 José (31)5555-0000 2 Maria (31)5555-0001 3 João (31)5555-0002
11.
Algumas Regras RelacionamentosM:N darão origem a uma nova tabela com 2 relacionamentos 1:N; Deve-se propagar o atributo identificador (chave primária) para a tabela na qual a cardinalidade do relacionamento seja N (chave estrangeira); Atributos multivalorados em geral dão origem a uma nova entidade/tabela (fraca).
SGBD Sistema gerenciadorde bando de dados (SGBD) é formado por um conjunto de dados associados a um conjunto de programas para acesso a tais dados. As vantagens oferecidas por um SGBD são: Redução de redundância e inconsistência de informação; Redução de problemas de integridade; Eficiência e eficácia no armazenamento e recuperação dos dados; Segurança incorporada e padronização dos dados; Prevenção quanto a anomalias de acesso concorrente;
A Linguagem SQLSELECT Recuperação de dados INSERT UPDATE DML (Data Manipulation Language) DELETE CREATE ALTER DDL (Data Definition Language) DROP GRANT DENY DCL (Data Control Language) REVOKE Transact SQL Extensão do SQL com recursos de linguagens de programação. As instruções de consulta e manipulação de dados do SQL estão incluídas nas unidades procedurais de código.
17.
Criando uma tabelaCREATE TABLE [ database_name .[ owner ].| owner .] table_name ( column_name data_type [ DEFAULT expressao ] , ... ) Na cláusula CREATE TABLE , especifique o nome da tabela Em seguida, especifique os nomes das colunas, seus tipos de dados e, caso exista, seu valor default
18.
Criando uma tabelaCREATE TABLE gerentes (codgerente INT, nome VARCHAR(20), cargo VARCHAR(20), datacontratacao DATETIME DEFAULT GETDATE(), salario decimal(10,2) ) Para confirmar a criação da tabela: SP_HELP gerentes
19.
Alterando a estruturade uma tabela Utilize a instrução ALTER TABLE para: Adicionar uma nova coluna Alterar o tipo de dados e precisão de uma coluna Remover colunas de uma tabela ALTER TABLE table_name ADD column_name data_type [ DEFAULT expressao ] , ... ALTER TABLE table_name ALTER COLUMN column_name new_data_type ALTER TABLE table_name DROP COLUMN column_name, ...
20.
Adicionando uma novacoluna a uma tabela Utilize a cláusula ADD para adicionar colunas a uma tabela ALTER TABLE emp ADD data_nascimento DATETIME, nome_pai VARCHAR(50), nome_mae VARCHAR(50) As novas colunas tornam-se as últimas colunas da tabela
21.
Alterando a estruturade uma coluna Utilize a cláusula ALTER COLUMN para alterar o tipo de dados e a precisão de uma coluna ALTER TABLE emp ALTER COLUMN nome_pai VARCHAR(60) Somente uma coluna pode ser alterada por vez A precisão de uma coluna só pode ser diminuída se a tabela estiver vazia ou se o tamanho de todos os dados da coluna forem menores ou iguais à nova precisão O tipo de dados de uma coluna só poderá ser alterado se a tabela estiver vazia ou se todos os dados da coluna forem compatíveis com o novo tipo
22.
Removendo uma colunaUtilize a cláusula DROP COLUMN remover colunas de uma tabela ALTER TABLE emp DROP COLUMN nome_pai, nome_mae
23.
Removendo uma tabelaUtilize a cláusula DROP TABLE para remover uma tabela do banco de dados Todos os dados e a estrutura da tabela serão removidos A tabela não poderá ser removida se estiver sendo referenciada por outra tabela através da restrição de FOREIGN KEY. A restrição deverá ser removida antes. DROP TABLE dependentes
24.
Removendo uma constraintUtilize o comando como exemplo: ALTER TABLE dependentes DROP CONSTRAINT fk_dep_fun Onde fk_dep_fun é o nome da constraint e dependentes é a tabela a qual pertence a constraint.