분류 전체보기
IN 1) all managers, supervisors를 나열할 때 → IN 사용 (아래 두 코드 다 사용 가능) SELECT staffNo, fName, lName, position FROM Staff WHERE position IN(‘Manager’, ‘Supervisor’); SELECT staffNo, fName, lName, position FROM staff WHERE position=‘Manager’ OR position=‘Supervisor’; 2) NOT IN SELECT staffNo, fName, lName, position FROM Staff WHERE position NOT IN ('Manager', 'Supervisor'); IN은 많은 values를 포함하고 있을 때 더 효과..
all columns, all rows SELECT staffNo, fName, lName, address, position, sex, DPB, salary, branchNo FROM Staff; speicific columns, all rows SELECT staffNo, fName, lName, salary FROM Staff; 1) table viewing에서 모든 속성을 보려고 할 때 SELECT propertyNo FROM viewing; 2) 중복값을 제거하려고 할 때 SELECT DISTINCT propertyNo FROM Viewing; 3) 월별 salary를 조회할 때 (staff no., first/last name 도 함께 조회) SELECT staffNo, fName, lName,..
Relational Algebra What is Relational Algebra? 원하는 데이터를 얻기 위해 relation에 필요한 query를 수행하는 것 DB system의 구성요소 중 데이터 언어의 역할 원하는 결과를 얻기 위해 데이터 처리 과정을 순서대로 기술 5가지 basic operations selection, projection, cartesian product, union, set difference selection : 어떤 조건을 만족하는 튜플만 포함하는 relation 정의 projection : 선택된 속성들만 포함하는 relation 정의 cartesian product : 2개의 relation으로부터 튜플 쌍을 정의하기 위해 2개의 relation 곱 union : 2개의..
SQL 구문 기초 Create a new database CREATE DATABASE human resources; Make it the current database in use USE human resources; Define a table to hold data CREATE TABLE staff (staffNo VARCHAR(4), fName VARCHAR(20), IName VARCHAR(20)); Load some data from a text file LOAD DATA LOCAL INFILE "staff.txt" INTO TABLE staff; Insert statement : INSERT INTO TableName [(columnList)] VALUES(dataValueList) - colu..
File-based Approach의 단점 data 중복 데이터 의존적 다른 언어로 서로 적혀있기 때문에 서로의 file에 접근하기 어려움 data language의 역할 defining database updating database retrieving data database의 장점 복잡성 낮춤 일정 수준의 보안 제공 user interface 커스터마이징 가능 일관적이고 변하지 않는 데이터 표현 가능 Components of DBMS Enviroment Data(자료의 구조, 관계 등을 형식 언어로 정의한 schema), Procedures, People DBMS의 역할 Data Administrator(DA) Database Administrator(DBA) Database Definer(Logi..
기본용어 속성 릴레이션의 열을 의미. 릴레이션 : 파일, 속성 : 파일의 필드 더는 분해할 수 없는 원자 값만 사용 ex) 고객 릴레이션 → 고객아이디, 고객이름, 나이, 등급, 직업, 적립금 튜플 릴레이션의 행을 의미. 고객 개체의 인스턴스 ex) 고객 릴레이션에서 튜플은 고객 1명에 대한 실제 속성 값 6개 도메인 속성 하나가 가질 수 있는 모든 값의 집합 특정 속성이 가질 수 있는 모든 원자 값의 모임 속성의 특성을 고려한 데이터 타입으로 정의, 즉 도메인을 데이터 타입이라고 이해하기 ex) 고객이름 속성의 도메인 : CHAR(20), 나이 속성의 도메인 : (INT) 널 값 (Null) 특정 튜플 속성 값 모르거나 적합한 값이 없는 경우 숫자 0, 공백 값과는 다른 개념 ex) 고객이 아직 직업을..
/* 자바에서 선언한 Person class */ public class Person { private final String name; public Person(String name) { this.name = name; } public String getName() { return name; } } /* 코틀린에서 선언한 Person class */ class Person(val name:String) 위와 같이 코드 없이 데이터만 저장하는 클래스를 값 객체(value object)라고 한다. 자바 → 코틀린으로 변환 시, public 가시성 변경자(visibility modifier)가 사라졌다. 2.2.1 프로퍼티 In JAVA... 클래스 : 데이터를 캡슐화하고, 캡슐화한 데이터를 다루는 코드를 ..
깨진 링크(broken link), 죽은 링크(dead link), 나쁜 링크(bad link) : 개발자들이 내버려두는 데에 문제가 있음! 브로큰링크체크닷컴(https://www.brokenlinkcheck.com), 구글 서치콘솔 등으로 깨진 링크 확인 가능 개발자용 에러 메시지, 사용자용 에러 메시지 분리하여 작성하기 사용자 에러 메시지에는 에러 내용, 에러 원인, 에러 해결 방법 함께 표시 재확인 메시지는 행동에 집중하여 유도하는 등 간결하고 명확하게 쓰기 확인/취소 버튼 순서 : 서비스 내 일관성을 갖고 표기하기 남은 로그인 횟수 표시 등을 통해 사용자 반복 에러 막기 '날짜를 잘못 선택하셨습니다. 오늘 이후 날짜를 선택하십시오' 등의 메시지를 통해 사용자 에러 예방 또는 오늘 이전 날짜 선택할..
이름 짓기 : 기존 방식이나 이름을 차용해서 새 이름 짓기, 가독성과 소통이 최우선! "오픈소스의 네이밍 특징들" 자바 네이밍 컨벤션 철저히 준수 네이밍은 보통 16글자, 3단어 조합 주로 명사, 동사, 형용사 조합 네이밍 컨벤션은 기본적으로 영어 표기법 준수 클래스 이름 : 주로 모든 단어 첫 글자를 대문자로 쓰는 파스칼 표기법 (ex. CoffeeMenu) 함수, 변수 이름 : 주로 첫 단어 빼고 나머지 단어 첫 번째 글자만 대문자로 쓰는 카멜 표기법 (ex. totalCount = 0) 상수 : 모두 대문자 표기, 언더스코어(_)로 단어 연결 패키지, 모듈 : 소문자로만 씀 (ex. import developerwriting) BEM 표기법 (Block, Elemenr, Modifier) : 대상-..