Diagrama Relacional
1.Introdução
O modelo relacional é um modelo de dados representativo, adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados, que se baseia no princípio de que todos os dados estão armazenados em tabelas. Toda sua definição é teórica e baseada na lógica de predicados e na teoria dos conjuntos.
2.Metodologia
2.1 Como fazer:
- Começamos com o modelo entidade-relacionamento (ME-R), que primeiramente é definida por suas entidades, sendo elas um conjunto de objetos que se guardam dados que são importantes para o mundo real. Em seguida definimos os atributos, onde define as características dessas entidades. E finalmente terminamos com o relaciomento que é um conjunto de associações entre as entidades.
- Depois é projetado o diagrama entidade-relaciomento (DE-R), que representa graficamente uma estrutura lógica geral do banco de dados.
- Assim temos então a geração do diagrama lógico de dados (DLD), que representa graficamente por tabelas e relações com cada uma delas.
- E por final temos então o dicionário de dados que ajuda na identificação dos atributos em cada tabela.
2.2 Modelo Entidade-Relacionamento
2.2.1 Entidades
- PERSON
- CLIENT
- PROPERTY
- SCHEDULE
- REALTOR
- OWNER
- MEDIA
- TENANT
2.2.2 Atributos
- PERSON ( idPerson, name, cpf, { telephone } , email, createdAt, updatedAt )
- CLIENT ( idClient, idPessoa, createdAt, updatedAt )
- SCHEDULE ( idSchedule, dateMeeting, idClient, idProperty, createdAt, updatedAt )
- PROPERTY ( idProperty,
address( state, city, district, street, number, zipNumber ),
description(type,size, numberBedroom, numberBath, numberPark),
status ,value, viewed, idOwner, idRealtor, createdAt, updatedAt) - REALTOR ( idRealtor, idPessoa, passwordHash, createdAt, updatedAt)
- OWNER ( idOwner, idPessoa, createdAt, updatedAt )
- TENANT ( idTenant, idClient, idProperty, idRealtor ,dateBeginRent, dateEndRent ,createdAt, updatedAt )
- MEDIA ( idMedia, name, url, idProperty, createdAt, updateAt )
2.2.3 Relacionamentos
OWNER owns PROPERTY
cardinalidade 1:n
Um DONO possui uma ou mais PROPRIEDADE mas uma PROPRIEDADE só pertence a um DONO.
PROPERTY has MEDIA
cardinalidade 1:n
Uma PROPRIEDADE possui uma ou várias MÍDIA e nenhuma ou uma MÍDIA só pertence a uma PROPRIEDADE.
PROPERTY focused SCHEDULE
cardinalidade 1:n
Uma PROPRIEDADE tem o foco em uma ou várias REUNIAO e uma REUNIAO é focada numa só PROPRIEDADE.
REALTOR add PROPERTY
Cardinalidade 1:n
Um CORRETOR pode adicionar uma ou várias PROPRIEDADES e uma PROPRIEDADES só pode ser adicionada por um CORRETOR.
REALTOR marca SCHEDULE
Cardinalidade 1:n
Um CORRETOR pode marcar uma ou várias REUNIÃO e uma REUNIÃO só pode ser marcada por um CORRETOR.
CLIENT attends SCHEDULE
Cardinalidade 1:n
Um CLIENTE pode frequentar uma ou várias REUNIÃO e uma REUNIÃO só pode ser frequentada por um CLIENTE.
SCHEDULE realises TENANT
Cardinalidade 1:1
Uma reunião pode efetuar nenhum ou um só INQUILINO e um INQUILINO só pode ser efetuado por nenhum ou um só CLIENTE.
2.3 Diagrama Entidade-Relacionamento
2.4 Diagrama Lógico de Dados
2.5 Dicionário de dados
Entity: PERSON
Description: Defines the data of the Person who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idPerson | Primary Key Mandatory |
bigint | 5 | Person Code that will be generated by the database itself |
name | Mandatory | varchar | 200 | Complete name of the person |
cpf | Mandatory Unique |
bigint | 11 | CPF from the Person |
Mandatory Unique |
varchar | 5 | Email from the person | |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
multivalued attribute: telephone
Description: Defines the data of the telephone who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idPerson | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table PERSON |
telephone | Mandatory Unique |
bigint | 20 | Telephone number |
Entity: CLIENT
Description: Defines the data of the CLIENT who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idPerson | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table PERSON |
idClient | Primary Key Mandatory |
bigint | 5 | Client Code that will be generated by the database itself |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
Entity: OWNER
Description: Defines the data of the OWNER who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idPerson | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table PERSON |
idOwner | Primary Key Mandatory |
bigint | 5 | Owner Code that will be generated by the database itself |
idProperty | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table PROPERTY |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
Entity: REALTOR
Description: Defines the data of the REALTOR who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idPerson | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table PERSON |
idRealtor | Primary Key Mandatory |
bigint | 5 | Realtor Code that will be generated by the database itself |
passwordHash | Mandatory | varchar | 500 | Hash from the Realtor for authentication |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
Entity: MEDIA
Description: Defines the data of the MEDIA associated with a property who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idProperty | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table PROPERTY |
idMedia | Primary Key Mandatory |
bigint | 5 | Media Code that will be generated by the database itself |
name | Mandatory | varchar | 200 | Title from the media |
url | Mandatory | varchar | 200 | Address from the media |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
Entity: PROPERTY
Description: Defines the data of the Person who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idProperty | Primary Key Mandatory |
bigint | 5 | Property Code that will be generated by the database itself |
state | Mandatory | varchar | 2 | State where the property is located |
city | Mandatory | varchar | 50 | City where the property is located |
district | Mandatory | varchar | 30 | District where the property is located |
number | Mandatory | bigint | 3 | Number address where the property is located |
zipNumber | Mandatory | bigint | 9 | Zip number from the property |
type | Mandatory | varchar | 20 | Type of the properties (house, apartment, etc…) |
size | Mandatory | bigint | 5 | Size of the propertie |
numberBedroom | Mandatory | bigint | 3 | Number of bedrooms on the properties |
numberBath | Mandatory | bigint | 3 | Number of bathrooms on the properties |
numberPark | Mandatory | bigint | 3 | Number of park spaces on the properties |
value | Mandatory | bigint | 10 | Value from the Property |
viewed | Mandatory | bigint | 10 | Visualizations numbers of the property page |
idOwner | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table OWNER |
idRealtor | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table REALTOR |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
Entity: TENANT
Description: Defines the data of the TENANT who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idSchedule | Foreign Key Mandatory |
bigint | 5 | Foreing key from the table SCHEDULE |
idTenant | Primary Key Mandatory |
bigint | 5 | TENANT Code that will be generated by the database itself |
dateBeginRent | Mandatory | datetime | Date and time from the begin of tenant contract | |
dateEndRent | Mandatory | datetime | Date and time from the end of tenant contract | |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
Entity: SCHEDULE
Description: Defines the data of the SCHEDULE who will be registered
Atribute | Properties | Type of Data | Size | Description |
---|---|---|---|---|
idSchedule | Primary Key Mandatory |
bigint | 5 | Schedule Code that will be generated by the database itself |
idProperty | Foreign Key Mandatory |
bigint | 5 | Foreing key from the table PROPERTY |
idClient | Foreign Key Mandatory |
bigint | 5 | Foreing key from the table CLIENT |
dateMeeting | Mandatory | datetime | Data and hour from the meeting | |
idRealtor | Foreign Key Mandatory |
bigint | 5 | Foreign Key from the table REALTOR |
createdAt | Mandatory | datetime | Date and time of creation of the person in the system | |
updatedAt | Mandatory | datetime | Date and time of update of the in the system |
2.6 Código SQL
3.Conclusão
Com esses diagramas, temos então uma ideia geral de como serão guardado os dados na aplicação. Sendo ela posteriormente modificada gradativamente para atender melhor o Sistema Gerenciador de Banco de Dados que será utilizado na solução computacional do projeto.
4.Referência
SILBERSCHATZ, A. & KORTH, H. F. Sistemas de Banco de Dados. São Paulo: Pearson Universidades, 2019
Modelo relacional. Disponível em: https://pt.wikipedia.org/wiki/Modelo_relacional . Acessado em: Agosto/2021
5.Versionamento
Data | Versão | Descrição | Autores |
---|---|---|---|
19/08/2021 | 0.1 | Criação e elaboração do documento | Bruno Nunes e Marcos Vinicius |
19/08/2021 | 0.2 | Mudança de atributos das entidades | Igor Araujo |
20/08/2021 | 0.3 | Modificação nos arquivos brModelo, imagens e adição do dicionario de dados |
Bruno Nunes e Marcos Vinicius |
21/08/2021 | 0.4 | Revisão do documento | Tomás Veloso |
21/08/2021 | 0.5 | Consertar indexação | Bruno Nunes, Marcos Vinicius |
22/08/2021 | 0.6 | Atualizar código SQL | Igor, Marcos Vinicius |
22/08/2021 | 0.6 | Correção Metodologia | Bruno Nunes |