Sei sulla pagina 1di 7

Projeto de Bancos de Dados: Gerncia de Projetos Etapas: Coleta e anlise de requisitos Projeto conceitual Projeto lgico Dicionrio de Dados

Projeto fsico

Coleta e anlise de requisitos A empresa organizada em departamentos. Cada departamento possui um nome nico. Um determinado empregado gerencia o departamento. A data em que um funcionrio se tor na gerente do departamento acompanhada. Um departamento pode estar espalhado em diversos locais. Cada departamento controla certa quantidade de projetos, cada um deles possuindo nome nico, cdigo nico e uma nica localizao. Cada empregado acompanhado e tem seu nome, nmero da carteira de trabalho, endereo, salrio, sexo e data de nascimento registrado. Cada empregado alocado a um depart amento, porm pode trabalhar em diversos projetos, que no necessariamente so control ados pelo mesmo (pelo seu) departamento. necessrio acompanhar a quantidade de hor as que cada empregado dedica a cada projeto semanalmente. Tambm necessrio acompanh ar o supervisor direto de cada empregado. necessrio acompanhar os dependentes diretos de cada empregado para fins de IR. Pa ra cada dependente precisamos saber o nome, sexo, data de nascimento e grau de p arentesco com o empregado. Projeto conceitual

[pic]

Projeto lgico

[pic] Dicionrio de Dados Relao: EMP_Empregado

Objetivo: Armazenar os empregados envolvidos na execuo de algum projeto. |Atributo |Tipo de Dado |Restries |EMP_CPF |Texto |PK | |EMP_Nome |Texto | | |EMP_TpLogradouro |Texto | | |EMP_Logradouro |Texto | | |EMP_Numero |Texto | | |EMP_Complemento |Texto | | |EMP_Bairro |Texto | | |EMP_Cidade |Texto | | |EMP_UF |Texto |CK(estado ou distrito brasileiro) | |EMP_CEP |Texto | | |EMP_DtNasc |Data | | |EMP_Salario |Numrico CK( > 0 ) | |EMP_Sexo |Texto |CK( F, M ) | |EMP_DEP_Numero |Numrico FK (DEP_Departamento.DEP_Numero) | |EMP_CPFSuper |Texto |FK (EMP_Empregado.CPF) | |Tamanho |Descrio |11 | |35 | |10 | |30 | |5 | |10 | |25 | |25 | |2 | |8 | |8 | |7,2 | |1 | |3 | |11 | |S |S | |N |N | |N |S |N |N |S |S |S |S |S |N |N |Nulo? |

Relao: DEP_Departamento Objetivo: Manter o cadastro de departamentos da empresa. |Atributo |Restries |DEP_Numero |PK | |DEP_Nome |Tipo de Dado |Descrio |Numrico | |Texto |30 |N |Tamanho |3 |Nulo? | |N

|UQ | |DEP_EMP_CPF |FK | |DEP_DtInicioGer | |

| |Texto | |Data | |8 |S |11 |S

Relao: DPD_Dependente Objetivo: Manter o cadastro de dependentes dos empregados. Ser utilizado no clculo de imposto de renda devido pelo empregado. |Atributo |Restries |DPD_EMP_CPF |FK, PK | |DPD_Nome |PK | |DPD_Sexo |CK( F, M) | |DPD_Parentesco | | |Tipo de Dado |Descrio |Texto | |Texto | |Texto | |Texto | |10 |N |1 |N |Tamanho |11 |35 |Nulo? | |N |N

Relao: PRJ_Projeto Objetivo: Armazenar os dados dos projetos da empresa. |Atributo |Restries |PRJ_Numero |PK | |PRJ_Nome |UQ | |PRJ_Local | | |PRJ_DEP_Numero |FK | |Tipo de Dado |Descrio |Numrico | |Texto | |Texto | |Numrico | |3 |N |20 |N |30 |N |Tamanho |5 |Nulo? | |N

Relao: PEM_ProjetoEmpregado Objetivo: Cadastrar a relao de horas trabalhadas dos empregados nos respectivos pr ojetos. |Atributo |Restries |PEM_PRJ_Numero |FK, PK | |PEM _EMP_CPF |FK, PK |Tipo de Dado |Descrio |Numrico | |Texto | |11 |N |Tamanho |5 |Nulo? | |N

| |PEM _QteHs |CK( > 0 ) |

|Numrico |

|5

|N

Relao: DLO_DeptoLocal Objetivo: Indicar as possveis localizaes de um departamento. |Atributo |Restries |DLO_DEP_Numero |FK, PK | |DLO _Local |PK | |Tipo de Dado |Descrio |Numrico | |Texto | |20 |N |Tamanho |3 |Nulo? | |N

Projeto fsico Instruo SQL DDL para criao do banco de dados: Create Database BDSGP On ( Name = BDSGP1_Dat, FileName = 'c:\bd\ BDSGP1_Dat .mdf', Size = 10mb, FileGrowth = 20%, MaxSize = 20mb ) Log On ( Name = BDSGP1_Log, FileName = 'c:\bd\ BDSGP1_Log.ldf', Size = 2mb, FileGrowth = 0 ) OBS: o diretrio BD tem que ser criado antes de executar o comando de criao do banco de dados. Instrues SQL DDL para criao de todas as tabelas do projeto: Use BDSGP Go Create table DEP_departamento ( DEP_Numero Tinyint DEP_Nome Varchar(30) DEP_EMP_CPF Char(11) DEP_DtInicioGer SmallDateTime Null ) Create table DLO_DepartamentoLocal ( DLO_DEP_Numero Tinyint Not Null, DLO_Local Varchar(20) )

Not Null, Not Null, Null,

Not Null

Create table DPD_Dependente ( DPD_EMP_CPF Char(11) Not Null, DPD_Nome Varchar(35) Not Null, DPD_Sexo Char(1) Not Null, DPD_Parentesco Varchar(10) Not Null )

Create table EMP_Empregado ( EMP_CPF Char(11) Not Null, EMP_Nome Varchar(35) Not Null, EMP_TpLogradouro Varchar(10) Null, EMP_Logradouro Varchar(25) Null, EMP_Numero Varchar(5) Null, EMP_Complemento Varchar(10) Null, EMP_Bairro Varchar(25) Null, EMP_Cidade Varchar(25) Not Null, EMP_UF Char(2) Not Null, EMP_CEP Char(8) Null, EMP_DtNasc SmallDateTime Not Null, EMP_Salario Decimal(7,2) Not Null, EMP_Sexo Char(1) Not Null, EMP_DEP_Numero Tinyint Not Null, EMP_CPFSuper Char(11) Null ) Create table PRJ_Projeto ( PRJ_Numero Smallint Not Null, PRJ_Nome Varchar(30) Not Null, PRJ_Local Varchar(20) Not Null, PRJ_DEP_Numero Tinyint Not Null ) Create table PEM_ProjetoEmpregado ( PEM_PRJ_Numero Smallint Not Null, PEM_EMP_CPF Char(11) Not Null, PEM_QteHs Smallint Not Null ) Instrues SQL DDL para criao de todas as chaves primrias: Alter Table DEP_Departamento Add Constraint PK_DEP_Numero Primary Key(DEP_Numero) Alter Table DLO_DepartamentoLocal Add Constraint PK_DLO_Numero_Local Primary Key(DLO_DEP_Numero, DLO_Local) Alter Table DPD_Dependente Add Constraint PK_DPD_CPF_Nome Primary Key(DPD_EMP_CPF, DPD_Nome) Alter Table EMP_Empregado Add Constraint PK_EMP_CPF Primary Key(EMP_CPF) Alter Table PRJ_Projeto Add Constraint PK_PRJ_Numero Primary Key(PRJ_Numero) Alter Table PEM_ProjetoEmpregado Add Constraint PK_PEM_Numero_CPF Primary Key(PEM_PRJ_Numero, PEM_EMP_CPF)

Instrues SQL DDL para criao de todas as chaves estrangeiras: Alter Table DEP_Departamento Add Constraint FK_DEP_EMP_CPF Foreign Key(DEP_EMP_CPF) References Emp_Empregado(EMP_CPF) Alter Table DLO_DepartamentoLocal Add Constraint FK_DLO_DEP_Numero Foreign Key(DLO_DEP_Numero) References DEP_Departamento(DEP_ Numero) Alter Table DPD_Dependente Add Constraint FK_DPD_EMP_CPF Foreign Key(DPD_EMP_CPF) References Emp_Empregado(EMP_CPF) Alter Table EMP_Empregado Add Constraint FK_EMP_DEP_Numero Foreign Key(EMP_DEP_Numero) References DEP_Departamento(DEP_Numero) Alter Table Emp_Empregado Add Constraint FK_EMP_CPFSup Foreign Key(EMP_CPFSuper) References Emp_Empregado(EMP_CPF) Alter Table PRJ_Projeto Add Constraint FK_PRJ_DEP_Numero Foreign Key(PRJ_DEP_Numero) References DEP_Departamento(DEP_Numero) Alter Table PEM_ProjetoEmpregado Add Constraint FK_PEM_PRJ_Numero Foreign Key(PEM_PRJ_Numero) References PRJ_Projeto(PRJ_Numero) Alter Table PEM_ProjetoEmpregado Add Constraint FK_PEM_EMP_CPF Foreign Key(PEM_EMP_CPF) References Emp_Empregado(EMP_CPF) Instrues SQL DDL para criao de todas as uniques (chaves secundrias): Alter Table DEP_Departamento Add Constraint UQ_DEP_Nome Unique(DEP_Nome) Alter Table PRJ_Projeto Add Constraint UQ_PRJ_Nome Unique(PRJ_Nome) Instrues SQL DDL para criao de todos os checks: Alter Table EMP_Empregado Add Constraint CK_EMP_UF Check( EMP_UF = 'ES' Or EMP_UF = 'MG' Or EMP_UF = 'RJ' Or EMP_UF = 'SP' )

Alter Table EMP_Empregado Add Constraint CK_EMP_Salario Check(EMP_Salario > 0) Alter Table EMP_Empregado Add Constraint CK_EMP_Sexo Check(EMP_Sexo = 'F' Or EMP_Sexo = 'M') Alter Table DPD_Dependente Add Constraint CK_DPD_Sexo Check(DPD_Sexo = 'F' Or DPD_Sexo = 'M') Alter Table PEM_ProjetoEmpregado Add Constraint CK_PEM_QteHs Check(PEM_QteHs > 0) Instrues SQL DML para criao de todos os defaults: Alter table DPD_Dependente Add Constraint DF_DPD_Sexo Default 'M' For DPD_Sexo Alter table DPD_Dependente Add Constraint DF_DPD_Parentesco Default 'Filho' For DPD_Parentesco Alter table EMP_Empregado Add Constraint DF_EMP_Sexo Default 'M' For EMP_Sexo Diagrama Lgico do Banco de Dados BDSPG implementado no MSSQL Server

Potrebbero piacerti anche