본문 바로가기

이론/DB

[MySQL] DB계정 생성 및 스키마 생성 인트로 안녕하세요. 오늘은 오늘은 mysql 초기 세팅 시 DB 계정 및 스키마를 생성 하는 방법에 대해 공유드리겠습니다. mariadb에 접속하는 방법은 2가지 입니다. 1) mariadb 명령어를 통한 접속 2) mysql 명령어를 통한 접속 1. mariadb 명령어 접속 콘솔 및 터미널에서 mariaDB 및 mysqlDB 를 실행합니다. mariadb 가 제대로 설치되어 있을 경우, 아래의 명령어로 mariadb를 실행할 수 있습니다. mariadb > mariadb를 실행한 화면 2. root 사용자로 mariadb 접속 현재 로그인할 수 있는 사용자는 root입니다. root 사용자로 로그인하여 기본 스키마(mysql)를 선택합니다. 초기 비밀번호 : 세팅한 비밀번호 및 PC 비밀번호 mysq.. 더보기
[MySQL] Mac MySQL 포트 3306 변경 인트로 안녕하세요. 오늘은 MySQL에서 포트를 변경하는 방법에 대해 알아보겠습니다. 제 프로젝트의 MariaDB 포트는 3307이나, 제 Mac PC MariaDB 포트는 3306이라 DB 포트를 변경했습니다. 포트 변경방법은 간략하게 3단계입니다. 1) my.cnf 접근 2) vi에디터로 my.cnf 변경 3) Mac 재기동 1. my.cnf접근 my.cnf를 변경하기 위해 /usr/local/etc 에 접근합니다. 2. my.cnf 포트 변경 port = 3307을 추가합니다. my.cnf.default 파일에도 port = 3307을 추가합니다. 3. 재기동 및 포트 변경 확인 이후 Mac을 재기동합니다. 재기동하지 않으면 적용되지 않습니다. mysql.server status 명령어를 통해 포트.. 더보기
[IT] 데이터 그립(DataGrip) 학생 인증하고 무료로 사용하기 인트로 안녕하세요. 오늘은 데이터베이스 관리 툴인 데이터 그립을 무료로 사용하는 방법에 대해 알아보겠습니다. 목차 1. 데이터 그립이란? 2. 데이터 그립 학생인증 및 계정 활성화 데이터 그립(DataGrip)이란? 데이터 그립(DataGrip)이란, JetBrains(젯브레인스)에서 제공하는 DB 개발 툴입니다. OracleDB, MySQLDB, MongoDB 등 다양한 RDB를 연결하여 쓸 수 있어 DB개발 및 관리에 용이합니다. 데이터 그립(DataGrip) 학생 인증하기 1. 데이터 그립 로그인 및 회원가입하기 데이터 그립 학생인증을 수행합니다. www.jetbrains.com/community/education/#students 2. 학교 이메일 인증 학교 이메일을 열어 학생 신분을 인증합니다... 더보기
[DB] 식별, 비식별관계와 강한,약한 개체 인트로 안녕하세요. 오늘은 데이터베이스의 식별/비식별 관계, 강한/약한 개체에 대해 알아보겠습니다. 데이터베이스를 모델링하고 E-R다이어그램을 그리려면 두 개체의 식별 / 비식별 관계를 구분해야합니다. 아래는 강한개체와 약한관계, 식별관계, 비식별관계에 대한 설명입니다. 1) 강한 개체와 약한 개체 강한개체: 누구에게도 지배되지 않는 독립적인 개체입니다.(고객과 관계에서, '고객') 약한개체: 개체의 존재가 다른 개체의 존재 여부에 달려있는 개체입니다.(고객과 계좌에서 '관계') [예시] 고객과 계좌 관계에서 계좌는 고객이 계좌를 만들지 않으면 개체가 생성되지 않습니다. 따라서 '고객' 은 강한 개체이고, '계좌'는 약한 개체입니다. 2) 식별관계 부모 키를 참조하는 자식키가 '기본키(PK)'이면 식별관.. 더보기
[DB][SQL] SQL의 셀프조인 인트로 안녕하세요. 오늘은 조인과 셀프조인의 정의와 이들의 SQL구문을 알아보겠습니다. 제가 대학교 '데이터베이스' 강의를 수강할 때도, 처음 머릿속에 SQL 구문과 그 결과를 집어넣는 일은 쉽지 않았습니다. SQL은 많이 짜보고 그 결과를 확인해보아야 실력이 느는 것 같습니다. [ 목차 ] 1. 조인 - 테이블 구조 (학생 , 등록) - 조인의 정의, SQL 예시 2) 셀프조인 정의 및 예시 1. 조인 1-1) 테이블 구조 - 학생 테이블 (STUDENT) 학생테이블은, 각각 Sno(학번), Sname(이름), Syear(학년), Department(학과)로 구성되어있습니다. - 등록테이블 (ENROLL) 등록테이블은, 각각 cno(학과), Sno(학생이름), Grade(학점), Mid(중간고사점수),.. 더보기
[DB] 데이터베이스 애트리뷰트 종류(단순, 복합, 유도, NULL) 인트로 안녕하세요. 오늘은 데이터베이스 애트리뷰트 종류에 대해 포스팅하겠습니다. 1) 단순 애트리뷰트 더이상 분해할 수 없는 애트리뷰트를 단순 애트리뷰트라고 한다. 예를 들어, '학년', '전화번호'는 더이상 분해할 수 없으므로 단순애트리뷰트라고 합니다. 2) 복합 애트리뷰트 더 분해할 수 있는 애트리뷰트를 복합 애트리뷰트라고 합니다. [예시] 주소의 경우,'주소'라는 애트리뷰트가 도, 시, 동 등으로 분해할 수 있으므로 '복합애트리뷰트' 입니다. 만약 '주소'를 데이터베이스에 저장할 것이라면, 복합 애트리뷰트인 주소를 개체로 만들것인가 애트리뷰트화 할것인가에 대한 결정이 꼭 필요합니다. 3) 단일 값 애트리뷰트 하나의 애트리뷰트가 하나의 값을 가질 수 있을 때 '단일 애트리뷰트'라고 합니다. 4) 다중.. 더보기
[DB] 데이터베이스의 1:1, 1:N, N:M 관계 인트로 안녕하세요. 오늘은 데이터베이스의 매핑 카디널리티에 대해서 알아 보겠습니다. 사상 원소수(mapping cardinarlity), 즉 매핑 카디널리티에는 3가지가 있습니다. 1) 1:1관계 2) 1:N 관계 3) N:M 관계 4) 전체 참여 / 부분 참여 관계 5) 존재 종속 : 'A가 있어야 B도 존재한다' 그럼 데이터베이스의 관계에 대해 설명 시작하겠습니다. 1) 1:1관계 왼쪽 개체와 오른쪽 개체가 반드시 '하나'로만 매핑되어야 한다. f(x)가 함수가 되려면 fx값은 반드시 하나만 나와야한다. [예시] 예를 들어, 국가와 대통령은 1:1관계입니다. 개체는 정적인 성질과 관련이 있고, 개체들간의 관계는 오퍼레이션을 해결하기 위해 만들어진다. 예를 들어, 과외라는 관계를 생각해봅시다. 선생님과.. 더보기
[DB][SQL] 집계함수(COUNT, SUM, AVG, MAX, MIN) 인트로 오늘은 SQL의 집계함수와, 그 예시를 알아보려고 합니다. 1. 집계함수 - 집계함수의 정의 - 집계함수 SQL 예시 1-1) 집계함수 (aggregate function) 집계함수 : COUNT , SUM , AVG, MAX, MIN 튜플에 관심있는 것이 아니라 몇개의 튜플에 관심이 있는 경우, 집계함수를 사용한다. 집계함수와 일반 애트리뷰트를 같이 출력할 수 없다. 다음은 집계함수들의 리스트입니다. COUNT : 결과 행들의 개수를 구한다. (중복된 값도 모두 COUNT) SUM : 결과 행들의 합을 구한다. AVG : 결과 행들의 평균을 구한다. MAX : 결과 행들 중 MAX값을 출력한다. MIN : 결과 행들 중 MIN값을 출력한다. 1-2 ) 집계함수 예시 i) 학생 테이블의 전체 튜플.. 더보기