2022.08.09 (화) [SeSAC X 라이징프로그래머] Server 수업 3주차

RyuSW·2022년 8월 9일
0
post-thumbnail

📪 DataBase


🧲 phpMyAdmin과 Datagrip의 차이

  • phpMyAdmin : Web -> server -> local

  • Datagrip : App -> server -> 외부 접속

  • 결론 : DB를 접속하는 위치가 다른 것이다.


( Nginx + PHP + MySQL ) -> 서버 1개에 한꺼번에 다 설치를 한다면?

  • 관리가 어렵다. 예를 들면, 서버 하나가 터지면 3개 전부 다 터진다..

  • 보안의 위험성이 높다.

  • 호환성에 문제가 생긴다.


❓ 서버 하나가 터지더라도 대체 서버를 구축해놓으면 빠른 대응이 가능하다.


🔗 RDBMS (관계형 데이터 베이스)

  • 자료들 사이에 관계가 있기 때문에 관계형 데이터 베이스라고 불린다.

  • 예를 들면, 고등학교에 출석부가 있고 생활기록부가 있다.

    • 출석을 확인하려고 할 때 보는 것:

      • 출석부 : 이름, 번호, 주소 + 출석 여부

      • 생기부 : 연락처, 이름, 번호, 성적, 수상 경력

    • 출석부와 생기부에 공통적으로 존재하는 번호를 사용해서 조회할 수 있다.


  • 최근에는 객체 지향 DB를 사용하지 않고 RDBMS를 많이 사용한다.

  • NoSQL : SQL을 사용하지 않는 비관계형 데이터 베이스

    • Ex ) MongoDB

    • Key or Value

    • 관계 없이 Key 또는 Value 각자 하나만 있어도 저장이 가능하다.



🧷 DataBase 기본 개념


  • Excel : 파일, 시트, 데이터

  • DB :

    • 서버 (Data Control Language)

    • 테이블 (Data Definition Language)

    • 튜플 (Data Manipulation Language)



❓ 수강신청을 위해 필요한 데이터들은 무엇인가?


  • 과목

    • 과목 구분

    • 담당 교수

    • 교과 번호

    • 과목명

    • 학점

    • 강의실

    • 강의 시간

    • 정원

  • 수강신청 정보

    • 학번

    • 학수 번호

  • 학생

    • 이름

    • 학번

    • 학과


  • 객체

    • 학생, 수강신청 정보, 과목
  • 속성

    • 과목 구분, 담당 교수, 과목명, 정원 등
  • 관계

    • 교과 번호 ↔ 학수 번호


❓ 인스타그램에서 필요한 속성들을 뽑아보자


  • 아이디

  • 프로필 사진

  • 닉네임

  • 게시물 수

  • 팔로워, 팔로잉 수

  • 스토리 하이라이트

  • 피드 사진


  • 계정 : ID, 프로필 사진, 닉네임

  • 게시물 : 게시물 사진, 작성자 ID

  • 팔로잉 : 팔로우한 사람 ID, 팔로잉하는 사람 ID

  • 스토리 : 사진, 작성자


  • 속성을 먼저 찾고 그것을 하나의 객체로 묶고 관계를 지정하는 것이 순서이다.
profile
배운 것은 항상 그 때 문서화하자!

0개의 댓글