Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade | Utilização |
---|
Banco de Dados
Descrição
Aqui se encontra a modelagem, documentação e organização do banco de dados.
Ferramentas e Linguagens
PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto (DBMS) desenvolvido por uma equipe mundial de voluntários. ... Suporta texto, imagens, sons e vídeo e inclui interfaces de programação para C / C ++, Java, Perl, Python, Ruby, Tcl e Open Database Connectivity (ODBC). No contexto do projeto Alpha foi escolhido como a implementação do banco de dados.
Heroku é uma plataforma de nuvem como serviço (PaaS) que suporta várias linguagens de programação. Uma das primeiras plataformas em nuvem, o Heroku está em desenvolvimento desde junho de 2007, quando suportava apenas a linguagem de programação Ruby, mas agora suporta Java, Node.js, Scala, Clojure, Python, PHP e Go. Por esse motivo, o Heroku é considerado uma plataforma poliglota, pois possui recursos para um desenvolvedor criar, executar e dimensionar aplicativos de maneira semelhante na maioria dos idiomas.
DBeaver é um aplicativo de software cliente SQL e uma ferramenta de administração de banco de dados. Para bancos de dados relacionais, ele usa a interface de programação de aplicativos (API) JDBC para interagir com bancos de dados por meio de um driver JDBC. Para outros bancos de dados (NoSQL) ele usa drivers de banco de dados proprietários. Ele fornece um editor que suporta preenchimento de código e realce de sintaxe. Ele fornece uma arquitetura de plug-in (baseada na arquitetura de plug-ins do Eclipse) que permite que os usuários modifiquem grande parte do comportamento do aplicativo para fornecer funcionalidades específicas do banco de dados ou recursos independentes do banco de dados. Este é um aplicativo de desktop escrito em Java e baseado na plataforma Eclipse.
Astah/Professional é a versão de produto do JUDE com todos os recursos do JUDE/Community mais aprimoramentos. Possui recursos como entrada-saída e orientação para criação de diagramas. É adequado para uso comercial, modelos de grande porte e criação de documentos.
Modelagem
Aqui se encontra toda a modelagem do banco de dados da plataforma Doação.
Clique na imagem para ampliar.Optamos por usar um banco relacional, pois seria melhor, tendo em vista que o banco iria possuir várias relações entre as diferentes tabelas existentes, então, para facilitar o trabalho optamos por usar o PostgreSQL.
Scripts de criação para as tabelas
Tabela Administrator-- public.administrator definition -- Drop table -- DROP TABLE public.administrator; CREATE TABLE public.administrator (
); -- public.administrator foreign keys ALTER TABLE public.administrator ADD CONSTRAINT fk_id_user FOREIGN KEY (id_user) REFERENCES public.users(id_user); Tabela Institution-- public.institution definition -- Drop table -- DROP TABLE public.institution; CREATE TABLE public.institution (
); -- public.institution foreign keys ALTER TABLE public.institution ADD CONSTRAINT fk_user_institution FOREIGN KEY (id_user) REFERENCES public.users(id_user); Tabela Item_Solicitation-- public.item_solicitation definition -- Drop table -- DROP TABLE public.item_solicitation; CREATE TABLE public.item_solicitation (
); -- public.item_solicitation foreign keys ALTER TABLE public.item_solicitation ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); Tabela Itens-- public.itens definition -- Drop table -- DROP TABLE public.itens; CREATE TABLE public.itens (
); Tabela Product_Details_Order-- public.product_details_order definition -- Drop table -- DROP TABLE public.product_details_order; CREATE TABLE public.product_details_order (
); -- public.product_details_order foreign keys ALTER TABLE public.product_details_order ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); Tabela Product_Interest-- public.product_interest definition -- Drop table -- DROP TABLE public.product_interest; CREATE TABLE public.product_interest (
); -- public.product_interest foreign keys ALTER TABLE public.product_interest ADD CONSTRAINT fk8uaemq3seveakutup5mmcb5mb FOREIGN KEY (id_product_order_interest) REFERENCES public.product_order_interest(id_product_order_interest); ALTER TABLE public.product_interest ADD CONSTRAINT product_interest_id_item_fkey FOREIGN KEY (id_item) REFERENCES public.itens(id_item); Tabela Product_Order_Interest-- public.product_order_interest definition -- Drop table -- DROP TABLE public.product_order_interest; CREATE TABLE public.product_order_interest (
); -- public.product_order_interest foreign keys ALTER TABLE public.product_order_interest ADD CONSTRAINT fk26gn4wcp72y1uioei71qai8jc FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.product_order_interest ADD CONSTRAINT fkjarf6gmmnmylutf00f8br8pxc FOREIGN KEY (id_product_details_order) REFERENCES public.product_details_order(id_product_details_order); Tabela Product_Order_Interest_Lines-- public.product_order_interest definition -- Drop table -- DROP TABLE public.product_order_interest; CREATE TABLE public.product_order_interest (
); -- public.product_order_interest foreign keys ALTER TABLE public.product_order_interest ADD CONSTRAINT fk26gn4wcp72y1uioei71qai8jc FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.product_order_interest ADD CONSTRAINT fkjarf6gmmnmylutf00f8br8pxc FOREIGN KEY (id_product_details_order) REFERENCES public.product_details_order(id_product_details_order); Tabela Product_Quantity_Order-- public.product_quantity_order definition -- Drop table -- DROP TABLE public.product_quantity_order; CREATE TABLE public.product_quantity_order (
); -- public.product_quantity_order foreign keys ALTER TABLE public.product_quantity_order ADD CONSTRAINT fk5p6yfpfrrmtcu7vmsgy00mx0a FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.product_quantity_order ADD CONSTRAINT fk_id_item FOREIGN KEY (id_item) REFERENCES public.itens(id_item); ALTER TABLE public.product_quantity_order ADD CONSTRAINT fkq6rwtnw2dcsmxiylhk91ha29r FOREIGN KEY (id_product_details_order) REFERENCES public.product_details_order(id_product_details_order); Tabela Service-- public.service definition -- Drop table -- DROP TABLE public.service; CREATE TABLE public.service (
); Tabela Service_Details_Order-- public.service_details_order definition -- Drop table -- DROP TABLE public.service_details_order; CREATE TABLE public.service_details_order (
); -- public.service_details_order foreign keys ALTER TABLE public.service_details_order ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); Tabela Service_Interest-- public.service_interest definition -- Drop table -- DROP TABLE public.service_interest; CREATE TABLE public.service_interest (
); -- public.service_interest foreign keys ALTER TABLE public.service_interest ADD CONSTRAINT fk217hs1gec0eerdr2uvy0301ks FOREIGN KEY (id_service_order_interest) REFERENCES public.service_order_interest(id_service_order_interest); ALTER TABLE public.service_interest ADD CONSTRAINT fkso5g3wlnhy0s6h70a3murhm3w FOREIGN KEY (id_service) REFERENCES public.service(id_service); Tabela Service_Order_Interest-- public.service_order_interest definition -- Drop table -- DROP TABLE public.service_order_interest; CREATE TABLE public.service_order_interest (
); -- public.service_order_interest foreign keys ALTER TABLE public.service_order_interest ADD CONSTRAINT fk1ae2kg6aqtjwoygscfpq0g4b2 FOREIGN KEY (id_service_details_order) REFERENCES public.service_details_order(id_service_details_order); ALTER TABLE public.service_order_interest ADD CONSTRAINT fkksrqtdfah0im5bay2xbtou6wv FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); Tabela Service_Quantity_Order-- public.service_quantity_order definition -- Drop table -- DROP TABLE public.service_quantity_order; CREATE TABLE public.service_quantity_order (
); -- public.service_quantity_order foreign keys ALTER TABLE public.service_quantity_order ADD CONSTRAINT fk_id_service FOREIGN KEY (id_service) REFERENCES public.service(id_service); ALTER TABLE public.service_quantity_order ADD CONSTRAINT fkjvrbu0h6psnqanw5yslqtu6xv FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.service_quantity_order ADD CONSTRAINT fkrnho2x8h2w1a25vxsnuf1crau FOREIGN KEY (id_service_details_order) REFERENCES public.service_details_order(id_service_details_order); Tabela Service_Solicitation-- public.service_solicitation definition -- Drop table -- DROP TABLE public.service_solicitation; CREATE TABLE public.service_solicitation (
); -- public.service_solicitation foreign keys ALTER TABLE public.service_solicitation ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); Tabela Users-- public.users definition -- Drop table -- DROP TABLE public.users; CREATE TABLE public.users (
); |