2024-01-04 (19일차) - 게시판 만들기 , DBMS

민짱·2024년 1월 7일
post-thumbnail

📅2024. 01. 04 19일차


🎨 Java

✨ 게시판 만들기)

📃 로그인상태에서만 글 쓸 수 있게 하기.

if (isLogined() == false) {
				System.out.println("로그인 후 이용해주세요.");
				break;
			}
  • loginedMember를 controller한테 줘서 Article 클래스도 쓸 수 있고 Member도 쓸 수 있게 만들어 준다.
  • 로그인 확인 후 글 쓰기 허용 여부 확인

📃 게시글의 작성자만 해당 글의 수정과 삭제가 가능하도록 하기.

💡 띵킹

  • 게시글의 작성자만 해당 글을 수정하거나 삭제?

  • 회원가입 한 이름과 같을 때? 수정, 삭제?

  • 게시글을 작성 했을 때의 member의 name이

  • 수정, 삭제 할때의 mermber name과 같아야함

  • 현재 문제점은 게시물 작성할 때 번호 제목 작성일 조회만 기록되 있음

  • --> 여기에 로그인 아이디 까지 저장하면?

  • 게시물 작성 저장 할 때 로그인 아이디까지 저장

  • 삭제 수정을 게시물 작성 했을 때의 로그인 아이디와 같을 때만 되도록 하면 됨

private void doWrite() {

		System.out.println("==게시글 작성==");
		int id = lastArticleId + 1;
		String regDate = Util.getNowDate_TimeStr();
		String updateDate = regDate;
		System.out.print("제목 : ");
		String title = sc.nextLine();
		System.out.print("내용 : ");
		String body = sc.nextLine();

		Article article = new Article(id, regDate, updateDate, loginedMember.getId(), title, body);
		articles.add(article);

		System.out.printf("%d번 글이 생성 되었습니다.\n", id);
		lastArticleId++;

	}
if (foundArticle.getWriterId() != loginedMember.getId()) {
			System.out.printf("%d번 글에 대한 권한이 없습니다. \n", id);
			return;
		}

📁DBMS (DataBase Management System)

DataBase?

  • 구조화된 정보 또는 데이터의 조직화된 모음

DBMS

  • 데이터베이스 관리 시스템
  • DB != DBMS
  • mariaDb == myspl

RDBMS란?

  • RDBMS(Relational Database Management System)는 관계형 데이터베이스를 생성, 수정, 관리 및 검색하는 데 사용되는 소프트웨어 시스템이다.
  • RDBMS는 SQL을 사용하여 데이터를 조작하고 검색하는 데 많이 사용된다.
  • 관계형 데이터베이스는 테이블(Table)로 구성되며, 각 테이블은 행(Row)과 열(Column)로 이루어져 있다.
  • 각 열은 특정 데이터 유형을 가지고 있으며, 각 행은 데이터 레코드(Record)를 나타낸다. RDBMS는 데이터 테이블 간에 관계(Relationship)를 정의하여 데이터를 구성하고 관리한다.

RDBMS의 가장 중요한 특징은 ACID 특성이다.

  • 원자성(Atomicity): 트랜잭션(Transaction)은 완전히 수행되거나 전혀 수행되지 않아야 한다. 즉, 트랜잭션은 부분적으로만 완료되지 않는다.
  • 일관성(Consistency): 트랜잭션 전후에 데이터베이스는 일관된 상태여야 한다.
  • 격리성(Isolation): 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션은 다른 트랜잭션과 격리되어야 한다. 다른 트랜잭션에 의해 수정된 데이터에 대해 접근하지 않는다.
    지속성(Durability): 트랜잭션이 성공적으로 완료된 경우, 결과는 영구적으로 저장되어야 한다.

SQL(Structured Query Language)이란?

  • 데이터를 쿼리, 조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어

MySql

  • 복수개의 데이터베이스를 다룬다.
  • 서버(네트워크를 통해 클라이언트에게 제공하는 프로그램)
  • 클라이언트 (고객)

xampp

  • 윈도우 개발 환경 쉽게 세팅해주는 툴

🔔 TODO

  • Mysql 들어가기 앞서 전 Java 내용 다시 보기
  • 멀 모르는 지 다시 cheak

0개의 댓글