본문 바로가기
반응형

DB & SQL40

MySQL 유틸리티 사용법 Preface 이번 장에선 MySQL의 다양한 유틸리티 사용법을 알아봤다. GUI에서 제공하는 다양한 기능과 커맨드 등이 소개되어 있는데 모든 기능을 완벽히 암기할 순 없을 것 같고, 몇몇 필요한 기능들만 확실히 익힌 후 다른 기능들은 필요할 때마다 찾아서 사용하면 될 것 같다. 사실 이번 장의 두 번째 파트에선 외부 사용자가 Local MySQL 서버에 접속하는 방법을 다루고 있지만, 현재 카페에서 공부하고 있는 탓에 실습을 진행하지 못했다. 책에선 Windows 환경에서 Linux에 설치된 MySQL 서버에 접속하는 방법을 소개하고 있지만, 나는 Windows 환경에서 Mac에 설치된 MySQL 서버에 접속하는 실습을 진행하고자 한다. 별다른 문제 없이 연결이 된다면 지난 글에서 언급했던 노트북 선택.. 2022. 5. 2.
데이터베이스 모델링 Preface 이번 장에선 프로젝트의 진행 단계와 데이터베이스 모델링, 즉 E-R 다이어그램을 통한 데이터베이스 작성 방법을 공부했다. 파트 1은 소프트웨어 공학에서, 파트 2는 데이터베이스 개론에서 이미 학습했던 내용들이라 해당 책에 있는 설명들이 오히려 부족하게 느껴져 지난 글들을 찾아보며 공부했다. 또, MySQL Workbench에서 직접 다이어그램을 작성도 해 보고 이미 작성한 데이터베이스를 다이어그램으로 바꾸기도 해 봤다. 지금 당장은 이미 짜여진 모델링 결과를 바탕으로 책에서 시키는 대로 따라가기만 하면 돼서 막히는 부분 없이 진행할 수 있었지만, 혼자 DB 모델링을 한 후 다이어그램을 작성하려면 시간도 정말 오래 걸릴 것 같고 복잡할 것 같다. 1. 프로젝트의 진행 단계 - 프로젝트: 현실.. 2022. 5. 2.
MySQL 전체 운영 실습 Preface 이번 장에선 MySQL의 내용을 전반적으로 살펴보며 간단한 실습을 해봤다. 대부분 데이터베이스 개론에서 이미 한 번 봤던 내용들이라 그런지 쉽게 이해할 수 있었다. 다만, 이번 장에선 각각의 개념에 대한 자세한 설명을 토대로 이해를 하는 것이 아닌 몇 가지 개념들을 맛보기 하는 수준이었기 때문에 MySQL의 자세한 문법은 아직 다루지 않았다. 또 이번 장의 마지막 부분에서 Visual Studio Community를 사용해 MySQL과 응용 프로그램을 연결하는 파트가 있는데, Mac에선 해당 프로그램을 다운로드 할 수 없어 기존에 사용하던 윈도우에 프로그램을 설치하는 중이다. 앞으로도 이런 저런 실습을 할 때 응용 프로그램이나 문서, 데이터 등을 다운로드 받아 사용할 일이 많을 것 같은데 .. 2022. 5. 1.
mac에서 MySQL 설치(Homebrew or site) Preface 이번 장에선 MySQL의 설치 방법을 알아봤다. 그러나 책에선 Windows 환경에서의 설치 방법만을 소개하고 있어 mac에서의 설치 방법을 따로 찾아봐야 했다. 한참 동안 구글링을 한 후에야 MySQL을 제대로 설치할 수 있었다. 나처럼 mac에 MySQL을 설치하고자 하는 사용자들을 위해 두 가지 방법을 간략하게 적어놓았다. 추가로 환경변수를 설정하면 매번 파일의 경로를 입력하지 않고도 프로그램을 바로 실행시킬 수 있다고 하는데, 이 방법은 여러 블로그를 돌아보며 따라해봐도 도저히 적용할 수가 없었다. 1. brew를 이용한 설치 1. 터미널을 열어 brew 업데이트 하기 brew update 2. MySQL 설치하기 brew install mysql 3. MySQL 실행하기 mysql.. 2022. 4. 23.
DBMS 개요 Preface 정말 오랜만에 글을 업로드한다. 개강 후 지금까지 이것저것 할 일이 너무 많아 개발 공부에 신경쓸 겨를이 없었다. 먼저, 가장 많은 시간을 투자한 토익 문제는 잘 해결했다. 졸업 요건을 충족하기 위해 단기간 공부하고 시험을 본 것 치곤 생각보다 점수가 잘 나온 것 같다. 토익 시험을 끝내고 나선 조금 쉬고싶었지만, 곧바로 중간고사 시즌이라 저번주와 이번주는 전공 공부를 하기 바빴다. 다음주 수요일에 마지막 시험이 남아있지만, 오늘부턴 슬슬 다시 내 공부를 시작하려 한다. 거의 2년 만에 다시 대면 수업을 하려니 죽을 맛이다. 1학년 땐 어떻게 학교를 다녔는지 모르겠다. 졸업까지 1년 밖에 남지 않아서 하루 빨리 MySQL을 끝내고 다음 파트로 넘어가야 하는데, 계획대로 일이 풀리지 않아 걱.. 2022. 4. 23.
이것이 MySQL이다 출처 이것이 MySQL이다 카테고리에 있는 모든 글들은 우재남 교수님의 『이것이 MySQL이다』 (한빛미디어)에서 정리·요약 및 간접인용한 내용임을 밝힙니다. 2022. 4. 12.
(Fin) 데이터 과학과 빅데이터 Preface 이번 장에선 데이터 과학과 빅데이터, NoSQL에 대해 공부했다. 지금껏 NoSQL은 단지 RDB에서 처리하지 못하는 멀티미디어 데이터를 효율적으로 관리하기 위한 SQL 중 하나인 줄 알았는데, 생각보다 NoSQL의 종류도 다양하고 체계적으로 구성되어 있어 놀랐다. MySQL 공부를 마무리한 후 시간적 여유가 되면 NoSQL도 제대로 공부해보고 싶다. 처음 DB 공부를 시작할 땐 굉장히 복합하고 어려운 개념이 많을 것 같다는 생각에 걱정을 많이 했지만, 예상했던 것 보다 수월하게 책을 마무리한 것 같다. 1. 데이터 과학 - 데이터 과학: 데이터를 수집한 후 분석을 통해 데이터를 정확히 이해함으로써 그 속에 숨겨진 새로운 지식을 발견하고 이를 문제 해결에 활용하는 모든 과정의 활동 - 데이.. 2022. 3. 6.
데이터베이스 응용 기술 Preface 이번 장에선 관계 데이터베이스가 아닌, 다양한 종류의 DB를 알아보았다. 단편화 투명성을 공부하던 중, 단편화의 장점으로 저장 공간을 적게 사용한다는 것과 관리할 데이터의 수가 줄어든다는 내용을 본 후 '단편화를 통해 하나의 릴레이션을 여러 개의 릴레이션으로 분할하면 오히려 릴레이션이 늘어나 저장 공간을 더욱 많이 차지하고, 관리할 데이터의 수도 증가하는 것이 아닐까?'라는 의문이 들어 한참을 고민해 보니 해당 내용은 분산 DBS에만 국한된 개념일 것 같다는 생각이 들었다. 또, 분산 DBS의 장점 중 하나인 신뢰성과 가용성 증대를 완벽히 실현시키려면 데이터의 부분 중복이 아닌, 완전 중복을 항상 충족시켜야 할 것 같다는 생각이 들었다. 원래 이번 책은 개강 전에 마무리할 계획이었지만, 예.. 2022. 3. 3.
보안과 권한 관리 Preface 이번 장에선 DB의 보안과 권한 관리 방식을 공부했다. 권한이 필요한 사용자에게 SQL 문을 이용하여 권한을 부여하거나, 부여했던 권한을 취소하는 것 뿐이므로 어렵고 복잡한 내용은 없었다. 다만, 이번 장의 마지막에 잠시 소개된 데이터베이스의 암호화 부분은 정확히 이해할 수 없어 따로 빼서 정리해두었다. 1. 보안 - 데이터베이스 보안의 유형 1) 물리적 환경에 대한 보안: 자연 재해 등으로부터 보호 2) 권한 관리를 통한 보안: 권한이 없는 사용자로부터 보호 3) 운영 관리를 통한 보안: 권한이 있는 사용자로부터 보호 → 무결성 유지를 위해 2. 권한 관리 - DBMS는 접근 제어 기능을 기본으로 제공한다. - 사용자 계정 관리는 데이터베이스 관리자가 담당한다. → DB 보안 관리를 위해.. 2022. 2. 28.
회복과 병행 제어 Preface 이번 장에선 트랜잭션을 사용한 회복과 병행 제어를 알아보았다. 딱히 이해하기 어려운 부분은 없었지만, 의문이 생기는 부분들이 있었다. 먼저, 데이터베이스의 회복 연산인 undo에 관한 내용이다. undo 연산은 로그를 이용해 실행된 모든 변경 연산을 취소하여 데이터베이스를 원래 상태로 복구하는 작업으로, 주로 트랜잭션이 완료되기 전 장애가 발생한 경우 사용한다고 하는데, 트랜잭션이 완료되기 전 상태라면 rollback 연산을 사용하여 트랜잭션이 수행되기 전의 상태로 돌아가는 것이 undo 연산으로 로그 레코드를 사용하는 것보다 효율적일 것 같다는 생각을 했다. 다음은 즉시 갱신 회복 기법에 관한 내용이다. 예를 들어 T1과 T2 트랜잭션을 직렬 스케줄로 수행할 때 T2 트랜잭션 수행 도중 .. 2022. 2. 24.