{"id":25350172,"url":"https://github.com/dsadriel/half-linkedin","last_synced_at":"2026-05-14T21:38:01.128Z","repository":{"id":276887884,"uuid":"897594519","full_name":"dsadriel/half-linkedin","owner":"dsadriel","description":"Modelagem e Projeto de Banco de Dados realizado como parte do trabalho prático da disciplina Fundamentos de Banco de Dados, sob a orientação da professora Karin Becker.","archived":false,"fork":false,"pushed_at":"2025-04-23T21:45:06.000Z","size":1342,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T22:26:21.467Z","etag":null,"topics":["dababase","postgresql","sql","ufrgs"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsadriel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-02T22:37:54.000Z","updated_at":"2025-04-23T21:50:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"cf7c76e4-b621-42fb-b98f-2d8146696ae6","html_url":"https://github.com/dsadriel/half-linkedin","commit_stats":null,"previous_names":["dsadriel/half-linkedin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dsadriel/half-linkedin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsadriel%2Fhalf-linkedin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsadriel%2Fhalf-linkedin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsadriel%2Fhalf-linkedin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsadriel%2Fhalf-linkedin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsadriel","download_url":"https://codeload.github.com/dsadriel/half-linkedin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsadriel%2Fhalf-linkedin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33044458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dababase","postgresql","sql","ufrgs"],"created_at":"2025-02-14T16:59:42.937Z","updated_at":"2026-05-14T21:38:01.121Z","avatar_url":"https://github.com/dsadriel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto de Banco de Dados: ½LinkedIn\n\n![Capa](.github/capa.png)\n\nEste projeto foi realizado como parte do trabalho prático da disciplina *Fundamentos de Banco de Dados*, sob a orientação da professora *Karin Becker*. O objetivo principal foi aplicar conhecimentos essenciais de Banco de Dados, como modelagem conceitual, projetos lógicos utilizando PostgreSQL, além de técnicas de consultas, gatilhos, procedimentos armazenados e acesso via programa.\n\nDurante o desenvolvimento, foi criado um banco de dados relacional para um LinkedIn fictício, uma rede social simulada que conecta pessoas e empresas. As funcionalidades implementadas no sistema incluem perfis, publicações, eventos, vagas de emprego e interações entre usuários, visando replicar os principais recursos de uma rede social profissional.\n  \n## Estrutura do Projeto\nO trabalho está dividido em três etapas principais:\n\n### Etapa I: Modelagem Conceitual\nFoco no planejamento do banco de dados, considerando as necessidades do sistema.\n\n- **[Diagrama ER](/etapa-i/Diagrama%20ER.pdf):** Criação de um Diagrama Entidade-Relacionamento para representar os requisitos do sistema.\n- **[Dicionário de Dados (DD)](/etapa-i/Dicionário%20de%20Dados.pdf):** Documentação detalhada das entidades, atributos e relacionamentos.\n- **[Descrição do Universo de Discurso (uDd)](/etapa-i/Descrição%20do%20UdD.pdf):** Definição do escopo e regras de negócio do sistema.\n  \n### Etapa II: Projeto Lógico e Consultas\n\nTransformação do modelo conceitual em um esquema relacional adequado a um Sistema de Gerenciamento de Banco de Dados (SGBD).\n  \n- **Projeto Lógico:** Implementação do banco de dados em um SGBD relacional.\n    - **[Script SQL para criação do banco](/etapa-ii/tabelas.sql):** Criação das tabelas, chaves primárias e estrangeiras.\n    - **[Instâncias](/etapa-ii/instancias.sql):** Exemplos de instâncias do banco de dados.\n- **Consultas SQL:** Elaboração de consultas que atendam aos requisitos do sistema e demonstrem a funcionalidade do banco de dados.\n    - **[Consultas](/etapa-ii/consultas.sql):** Consultas SQL envolvendo as tabelas do banco de dados em diversas complexidades, usando cláusulas de junção, agregação, sub consultas, etc.\n \n### Etapa III: Implementação e Apresentação\n\nConstrução de funcionalidades avançadas e integração do banco com um programa funcional.\n \n- **[Gatilhos (Triggers)](/etapa-iii/gatilho.sql):** Desenvolvimento de gatilhos para automação de processos dentro do banco. Foram criados gatilhos para atualização de visualizações e controle de integridade.\n- **[Programa de Acesso](/etapa-iii/programa):** Implementação de um programa que interaja com o banco de dados. Foi utilizado Python e a biblioteca psycopg2 para realizar consultas e atualizações no banco.\n\n## Como Executar\n\nPara executar o projeto, é necessário ter Docker e Docker Compose instalados. Com ambos instalados, basta executar o comando:\n\n```bash\ndocker-compose up -d\n```\nO banco de dados será inicializado e estará disponível para conexões. Para acessar o banco de dados, utilize o comando abaixo que abrirá o programa desenvolvido na etapa III:\n\n```bash\npy etapa-iii/programa/main.py\n```\n\n## Conclusão\n\nO projeto foi uma oportunidade de aplicar conceitos teóricos de Banco de Dados em um cenário prático, permitindo a compreensão de como um banco de dados é projetado, implementado e utilizado em um sistema real. A experiência foi enriquecedora e proporcionou um aprendizado significativo sobre o funcionamento de um SGBD relacional.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsadriel%2Fhalf-linkedin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsadriel%2Fhalf-linkedin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsadriel%2Fhalf-linkedin/lists"}