데이터베이스

프롤로그 코드같은 거 짤 때, 우리는 그냥 코딩 습관에 길들여져 있어서 일단 코딩하기 시작한다. 그러다보면 코드가 어느순간 꼬이기 시작하면 아까워서 못지우고 계속 수정하고 버티다가 밤을 새고, 체력이 망가지고 패가망신하게 된다. 결국 갈아엎게 되느니만 못하다. 이것을 해결하기 위해 소프트웨어 개발 방법론이 나타났는데, 이를 소프트웨어 공학이라고 부르게 된다. 소프트웨어 공학에서 제시하는 소프트웨어 개발 모델은 많지만 가장 오래되고 전통적으로 사용되는 것은 폭포수 모델(waterfall model)이다. 프로젝트 계획 -> 업무 분석 -> 시스템 설계 -> 프로그램 구현 -> 테스트 -> 유지보수 순으로 폭포가 떨어지듯이 각 단계가 끝나면 다음 단계로 진행하는 과정이다. 각 단계가 명확히 구분되어서 프로젝..
프롤로그 빠르게 파이썬과 MySQL 연동해야할 일이 생겨서 서둘러서 진도 나가야겠다. 백업과 복원 데이터베이스 관리 측면에서 가장 중요한 주제 중 하나. 현재의 데이터베이스를 다른 매체에 보관하는 작업을 말하며 복원은 데이터베이스에 문제가 발생했을 때 다른 매체에 백업된 데이터를 이용해서 원 상태로 돌려 놓는 작업 실습 일단 DB백업이라는 폴더를 만들어서 이를 다른 디스크라고 가정하자. workbench에서 USE ShopDB; SELECT * FROM productTBL; 를 입력해보면 기존에 작업하던 거 데이터들이 있다. 이제 백업부터 해보자. (1) 백업 왼쪽 Navigator -> Administration 을 누르면 MANAGEMENT 부분에 Data Export 부분이 있고 여기서 내가 내보내..
프롤로그 데이터베이스 개체의 활용 드디어 마지막 파트이다. 트리커 테이블에 부착되어서 테이블에 INSERT나 UPDATE 또는 DELETE 작업이 발생되면 실행되는 코드를 말한다. 나중에 다시 나온다. X라는 사람이 회원탈퇴를 하였을 때 이게 누구누구인지 정보를 어떻게 알 수 잇을까? 이미 데이터베이스에서 행 데이터가 삭제되었는데 말이다. 이때 행 데이터를 삭제하기 전에 그 내용을 다른 곳에 먼저 복사해 놓으면 된다. 이걸 수작업으로 하지 않고 다른 곳에 자동으로 저장해주는 기능이 트리거이다. 실습 (1) SQL 데이터 생성, 수정, 삭제 확인 INSERT INTO memberTBL VALUES ('Figure', '연아', '경기도 군포시 당정동'); 로 생성을 하고 SELECT * FROM membe..
프롤로그 Stored Procedure 스토어드 프로시저...이름 길다 스토어드 프로시저 스토어드 프로시저란 MySQL에서 제공해주는 프로그래밍 기능을 말한다. 즉 SQL 문을 하나로 묶어서 편리하게 사용하는 기능이다. 실무에서 SQL문(주로 SELECT)을 매번 하나하나 수행하기 보다는 스토어드 프로시저로 만들어 놓은 후에 스토어드 프로시저를 호출하는 방식을 많이 사용한다. 실습 매번 회원 테이블 "당탕이"의 정보와 제품 테이블의 " 냉장고"의 정보를 동시에 조회한다고 가정하자 shopdb인지 확인하자 매번 조회를 해야한다면 SELECT * FROM memberTBL WHERE memberName = "당탕이"; SELECT * FROM productTBL WHERE productNAME = "냉장고"..
프롤로그 인덱스, 뷰, 스토어드 프로시저, 트리거 이렇게 4개를 각각의 글로 생성하면 양산형 글이 될 거 같아서 하기는 싫은데, 아예 나도 처음 배우는 개념이고 따로 적어서 따로 정리한 거 보는 게 나을 거 같아서 그냥 ...해야지..뭐; 뷰(View) 뷰란 가상의 테이블이다. 사용자 입장에서는 테이블과 동일하게 보이지만 뷰는 실제 행 데이터를 가지고 있지 않다. 그 실체는 없는 것이며, 진짜 테이블에 링크된 개념이다. 그래서 뷰를 SELECt 하면 결국 진짜 테이블의 데이터를 조회하는 것과 같다. 우리가 기존에 생성했던 회원테이블에서 아르바이트 같은 사람에게 회원 전체 정보를 보여줄 수 없으니 아이디와 주소만 보여주기 위해 뷰를 사용하는 것이다. 그래서 개인정보등 중요한 정보는 이 사람이 볼 수 없다...
프롤로그 데이터 베이스 안에 테이블만 표현하고 저번 글 2024.01.17 - [데이터베이스] - [데이터베이스] 데이터베이스 구축 절차 #3 [데이터베이스] 데이터베이스 구축 절차 #3 프롤로그 아 할 거 너무 많은데....큰일났다;; 정보 시스템 구축 절차 분석->설계->구현->시험->유지보수 분석 : 구현하고자 하는 프로젝트의 가장 첫 단계. 시스템 분석 또는 요구사항 분석. "what" taesan-smj.tistory.com 에서도 테이블 생성하고 데이터를 넣는 과정을 배웠다. 이게 기본적이고 중요하긴 하지만 테이블만 가지고 실무에서 데이터베이스를 운영하지 않는다. 다른 데이터베이스 개체로는 인덱스, 스토어드 프로시저, 트리거, 함수, 트리거 커서 등이 있지만 이번엔 인덱스만 알아보자. 인덱스 ..
프롤로그 아 할 거 너무 많은데....큰일났다;; 정보 시스템 구축 절차 분석->설계->구현->시험->유지보수 분석 : 구현하고자 하는 프로젝트의 가장 첫 단계. 시스템 분석 또는 요구사항 분석. "what" 즉 무엇을 할 것인가 결정 설계 : 우리가 구축하고자 하는 시스템을 "How" 즉 어떻게 할 것인가 결정 나머지는 알아서 프로그래머가 다 한다. 그래서 분석 설계가 끝나면 50% 이상이 끝난다. 데이터베이스 모델링과 필수 용어 -데이터베이스 모델링 : 분석과 설계 과정 중에서 가장 중요한 과정. 현실세계에서 사용되는 데이터를 MySQL에 어떻게 옮겨 놓을 것인가 결정하는 과정. 정보들을 단편적으로 저장하는 것이 아니라 테이블이라는 형식에 맞춰서 넣어야한다. -데이터 : 단편적인 정보. 정보는 있으나..
프롤로그 이 카테고리는 이것이 MySQL 이다를 보며 데이터베이스 보안을 위해 데이터베이스를 공부하는 공간이다. MySQL 설치하기 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip archive for installation. MySQL Server 8.1 and higher also bundle MySQL Configurator, a tool that helps configure MySQL Server. dev.mysql.c..
프롤로그 이 카테고리는 이것이 MySQL 이다를 보며 데이터베이스 보안을 위해 데이터베이스를 공부하는 공간이다. 데이터베이스 정의 데이터베이스 : 데이터의 집합 DBMS : 데이터베이스를 관리, 운영하는 역할, 여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근 가능하여야 함. MySQL, MariaDB, Oracle... 등등이 있음. 데이터베이스 특징 - 무결성 데이터베이스 안의 데이터는 어떤 경로를 통해 들어왔던지 데이터에 오류가 있어서는 안 됨. 무결성을 위해서 데이터베이스는 제약조건이라는 특성을 가짐(ex) 중복 불가, 반드시 포함되기 등...) -데이터의 독립성 데이터베이스의 크기를 변경하건가 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용프로그램은 전혀 영향 받으면 안 됨 -> ..
성밍쟁
'데이터베이스' 카테고리의 글 목록