본문 바로가기

이론

[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관계입니다. 개체는 정적인 성질과 관련이 있고, 개체들간의 관계는 오퍼레이션을 해결하기 위해 만들어진다. 예를 들어, 과외라는 관계를 생각해봅시다. 선생님과.. 더보기
[보안] 스니핑(Sniffing)과 ARP스푸핑, IP스푸핑 스니핑(Sniffing)이란, 사전적 의미로는 '코를 킁킁거리다' 입니다. 스니핑은 드라마에서 주인공이 문앞에서 다른이의 대화를 엿듣는 것과 같은 '수동적 공격' 입니다. 스니퍼는, 네트워크 패킷을 감시하고 분석하는 침입자 프로그램입니다. 스니핑은 침입자가 스니퍼를 설치한 이후, 네트워크에 별다른 이상현상을 일으키지 않기 때문에 알아차리기 어렵습니다. 따라서 비밀번호가 없는 무선 WIFI 이용은 위험합니다. 스푸핑(Spoofing)이란, 사전적인 의미로는 '속이다'입니다. 스푸핑은 스니핑보다 능동적인 공격입니다. 대표적으로 ARP 스푸핑, IP 스푸핑이 있습니다. ARP(Address Resolution Protocol)은 IP주소로 MAC주소를 찾는 프로토콜입니다. ARP 스푸핑이란, MAC주소를 속여.. 더보기